草庐IT

Sys_Rst_n

全部标签

linux - 尝试发送带有数据的 TCP SYN 数据包和带有数据的 RST,但原始数据字段在传输过程中消失。为什么?

我正在尝试制作一个原始TCP数据包,以在Linux客户端和服务器上的原始套接字中通过以太网发送。TCP数据包的特殊部分是我试图使用TCPSYN数据包和RST数据包的原始数据字段来回发送数据(用于TCP协议(protocol)未使用部分的概念证明)。我已经在服务器上禁用了来self的iptables的RST数据包。简而言之,这是我目前的情况:客户端发送SYN,数据发送到服务器服务器收到一个没有数据的SYN包服务器响应一个包含数据的RST数据包客户端收到一个没有数据的RST数据包但是,使用同一个套接字,我可以成功地做到这一点:没有向服务器发送数据的SYN服务器收到一个SYN包服务器响应一个

sys.stdout.write in Python无法正常工作

考虑以下代码段#!/usr/bin/python3importshimportsyssys.stdout.write("hello")sh.whoami(_out=sys.stdout.buffer)我希望以上程序能打印hellousername但是我得到了usernamehello有人可以向我解释为什么会发生这种情况吗?我在LinuxMint18.1上使用Python3.5.2看答案这是您的输出缓冲。如果您这样做:sys.stdout.write("hello")sys.stdout.flush()sh.whoami(_out=sys.stdout.buffer)该订单将如您期望的那样。

sockets - TCP RST 会导致主机丢弃接收缓冲区吗?

在收到一个TCPRST数据包后,主机是否会丢弃接收缓冲区中已被远程主机确认但未被使用套接字的应用进程读取的所有剩余数据?我想知道一旦我对其他主机所说的不再感兴趣(例如,为了节省资源)就关闭套接字是否危险;例如如果那会导致对方丢失任何我已经发送但他尚未阅读的数据。通常应该避免RST并指示完全的双向通信失败,还是如上例所示,RST是一种相对安全的单向强制断开连接的方法? 最佳答案 我找到了一些关于该主题的很好的解释,它们表明在这种情况下很可能会丢失数据:http://blog.olivierlanglois.net/index.php/

delphi - 某些 HTTP 请求上的奇怪 TCP 重置 (RST)

我们有一个用Delphi编写的应用程序,它使用DelphiOnRails并充当服务器并使用HTTP、JSON和websockets与客户端通信。我们最近遇到了一些问题,很难调试它们并找到问题的根源。使用Wireshark进行流量分析,我们可以看到以下行为:有来自客户端的请求(HTTPGET文件)。通常,我们处理该请求并发送HTTP状态代码、文件(如果未缓存)等。但是,我们有一个可重现的问题,其中只有来自客户端的请求,来自服务器的TCPSYN,但之后,服务器发送RST数据包,TCP通信停止。奇怪的是,我们可以很好地重现问题(尽管RST数据包中断通信的文件不同)并且在以下情况之一中它神秘地

python - 来自主机的 nc -> VM 工作(端口 9050),但 VM(运行用 Python 编写的服务器)重置连接 [TCP RST] 来自主机 -> VM 在同一端口(9050)

背景信息我正在开发一种支持网络的嵌入式设备,旨在与服务器进行通信。因为此服务器将运行Linux(但我需要Windows工具进行开发),我正在运行带有UbuntuServer14.04的虚拟机以用于开发目的。嵌入式方面对于这个问题并不重要,因为我正在剥离最简单的测试设置(只需将主机连接到VM上的服务器以查看TCP连接是否已建立)以进行故障排除。网络设置D-LinkDIR-615运行DD-WRT[v24-sp2(03/25/13)std(SVN修订版21061)],通过MAC过滤器分配给主机和VM的静态IP,启用DNS功能开发机(192.168.5.117,dev.test.lan)Ubu

sockets - 为什么此 TCP 连接的一个端点发送带有 RST 标志的数据包?

我正在编写一个尝试执行以下操作的应用程序:创建一个监听可用端口的TCP服务器创建一个连接到服务器的TCP套接字让服务器套接字向客户端写入数据让服务器套接字关闭它的连接端让客户端向服务器写一条消息这就是问题所在。当我尝试运行应用程序时,TCP交换是这样的:前三个数据包建立了three-wayhandshake,第四和第五个数据包是服务端写入数据的传输和确认。正如预期的那样,服务器套接字发送了一个设置了FIN标志的数据包,以指示它正在关闭它的连接端。客户端确认这一点,然后尝试将其数据写入套接字。服务器立即发送一个RST数据包,提前终止连接。为什么会这样?注意:以上捕获是在Windows8.

sockets - hping 发送 SYN : how not to send RST after receiving SYN/ACK?

使用hping,我发送SYN数据包,第二个对等方正在监听并回复SYN/ACK,但是hping(我猜是linux内核这样做)在收到SYN/ACK后发送RST。无论如何我可以在收到SYN/ACK后停止我的机器发送RST吗?谢谢。 最佳答案 此命令应丢弃任何带有RST的TCP数据包标记设置您的机器将发送到特定目的地:iptables-IOUTPUT1-d-ptcp--tcp-flagsRSTRST-jDROP要还原它,请使用:iptables-DOUTPUT-d-ptcp--tcp-flagsRSTRST-jDROP另一种方法是使用SYN

c - socket - close(2) 发送 RST 数据包而不是 FIN 数据包

我写了一个简单的客户端和一个服务器,基本上客户端先连接到服务器,然后用close(2)断开连接,它看起来像:/*settingserveraddressandotherstuff*/...connect();close();调用connect()和close()之间没有其他操作。服务器接受连接并使用epoll(7)监控EPOLLOUT事件。epoll报告EPOLLOUT时,服务器向客户端写入1个字节。nev=epoll_wait(ep,events,10,-1);for(inti=0;i这里是tcpdump,9999是服务器:11:52:11.411988IPlocalhost.377

linux - 为什么在没有调用 Close() 或 Shutdown() 时发送 RST?

我们正在使用LoadRunner在基于tcp的多线程服务器应用程序上进行压力测试。最近我们遇到一个恼人的问题:客户端在一些周期后收到错误报告——“10054-连接被对等方重置”。通过抓取客户端的数据包,我们发现客户端收到了来自服务器的RST。有什么奇怪的是我们没有从服务器端调用任何close()或shutdown()(用于测试目的),客户端仍然收到RST数据包和10054错误?!!下面是我抓到的数据包:539577.335317000192.168.11.232192.168.11.30TCP6227124→10000[SYN]Seq=0Win=65535Len=0MSS=1460SA

java - Netscaler : sudden ACK, RST数据包

我们的一个客户使用Netscaler作为Fuse服务器和我们的Tomcat托管软件之间的平衡器中间件。目前我们的软件和netscaler之间遇到奇怪的通信行为(我们正在使用Spring-WS发出SOAP请求):一段时间后,由于正在向netscaler发出请求并等待响应,netscaler发送ACK,RST数据包到我们的服务器,因此,Java抛出“连接重置”IOException。tcp转储如下:根据netscaler文档,重置数据包的Win字段包含错误代码,在这种情况下为9300,意思是“清理空闲连接”,这又意味着该netscaler运行“僵尸”进程,该进程清除空闲连接,并且该进程已将