Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
Python ICMP目标不可访问(端口不可访问)数据包中的无效字段Raw_Python_Udp_Scapy_Icmp - Fatal编程技术网

Python ICMP目标不可访问(端口不可访问)数据包中的无效字段Raw

Python ICMP目标不可访问(端口不可访问)数据包中的无效字段Raw,python,udp,scapy,icmp,Python,Udp,Scapy,Icmp,我正在使用scapy编写两个python脚本,一个在服务器端执行,另一个在客户端执行。在客户端,脚本将UDP数据包发送到服务器上的封闭端口。我的脚本的目的是测试客户端是否会接受从服务器接收到的无效ICMP数据包。在服务器端,我将嗅探传入的流量,并用无法访问的ICMP端口响应每个UDP数据包,每次我都会修改ICMP数据包中的一个字段(假值),以测试是否收到该数据包。我的问题是:当我修改原始字段(有效负载)时,客户端接受这个ICMP数据包是否正常?我的意思是在原始场地上没有控制。我希望我的问题是清楚

我正在使用scapy编写两个python脚本,一个在服务器端执行,另一个在客户端执行。在客户端,脚本将UDP数据包发送到服务器上的封闭端口。我的脚本的目的是测试客户端是否会接受从服务器接收到的无效ICMP数据包。在服务器端,我将嗅探传入的流量,并用无法访问的ICMP端口响应每个UDP数据包,每次我都会修改ICMP数据包中的一个字段(假值),以测试是否收到该数据包。我的问题是:当我修改原始字段(有效负载)时,客户端接受这个ICMP数据包是否正常?我的意思是在原始场地上没有控制。我希望我的问题是清楚的。非常感谢。

至少对于ID和序列字段,它们可以是任何16位的数字组合,内核将接受数据包并将其转发给所有注册的ICMP套接字处理程序

但是,如果校验和字段不正确,接收内核将不会将头传递给处理程序(但是它将传递给链接层嗅探器)。另外,根据我的测试,如果您将类型/代码标志更改为已知数字的不正确组合,或者协议未定义的数字,则接收内核不会将其传递给处理程序(但链接层嗅探器仍然可以看到)

注意,我没有使用scapy,只是使用了直接的python/socket代码,我的系统是Linux