Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking 发送的数据包与接收的数据包不同_Networking_Tcp_Network Programming - Fatal编程技术网

Networking 发送的数据包与接收的数据包不同

Networking 发送的数据包与接收的数据包不同,networking,tcp,network-programming,Networking,Tcp,Network Programming,我使用原始套接字创建TCP数据包,重点是序列号和TCP标志(SYN、ACK) 我使用一台机器S发送tcp ACK数据包(标志ACK设置为1),另一台机器R接收它。这两台机器位于不同的子网中,都在我的学校 同时,我使用tcpdump捕获数据包 奇怪的事情发生了!在机器S上,捕获的数据包如预期的那样,它是ACK数据包,然而,在接收机器R上,数据包变为SYN数据包,并且序列号改变,序号比预期的小1,ACK_seq变为0 潜在的问题是什么? 我的猜测是,路由器/防火墙将ACK数据包修改为SYN数据包,因

我使用原始套接字创建TCP数据包,重点是序列号和TCP标志(SYN、ACK)

我使用一台机器S发送tcp ACK数据包(标志ACK设置为1),另一台机器R接收它。这两台机器位于不同的子网中,都在我的学校

同时,我使用tcpdump捕获数据包

奇怪的事情发生了!在机器S上,捕获的数据包如预期的那样,它是ACK数据包,然而,在接收机器R上,数据包变为SYN数据包,并且序列号改变,序号比预期的小1,ACK_seq变为0

潜在的问题是什么? 我的猜测是,路由器/防火墙将ACK数据包修改为SYN数据包,因为它从未在ACK之前看到SYN SYN/ACK交换? 有没有可能

捕获的两个数据包是:


您将遇到的最大问题是,在每种情况下,接收TCP堆栈都将接收数据包并可能对其进行回复。您所尝试的是不可能的。

我现在不关心后果,我只希望接收主机能够正确接收数据包!不太可能。你还没有回答这个问题。