Python ICMP目标不可访问(端口不可访问)数据包中的无效字段Raw
我正在使用scapy编写两个python脚本,一个在服务器端执行,另一个在客户端执行。在客户端,脚本将UDP数据包发送到服务器上的封闭端口。我的脚本的目的是测试客户端是否会接受从服务器接收到的无效ICMP数据包。在服务器端,我将嗅探传入的流量,并用无法访问的ICMP端口响应每个UDP数据包,每次我都会修改ICMP数据包中的一个字段(假值),以测试是否收到该数据包。我的问题是:当我修改原始字段(有效负载)时,客户端接受这个ICMP数据包是否正常?我的意思是在原始场地上没有控制。我希望我的问题是清楚的。非常感谢。至少对于ID和序列字段,它们可以是任何16位的数字组合,内核将接受数据包并将其转发给所有注册的ICMP套接字处理程序 但是,如果校验和字段不正确,接收内核将不会将头传递给处理程序(但是它将传递给链接层嗅探器)。另外,根据我的测试,如果您将类型/代码标志更改为已知数字的不正确组合,或者协议未定义的数字,则接收内核不会将其传递给处理程序(但链接层嗅探器仍然可以看到) 注意,我没有使用scapy,只是使用了直接的python/socket代码,我的系统是LinuxPython ICMP目标不可访问(端口不可访问)数据包中的无效字段Raw,python,udp,scapy,icmp,Python,Udp,Scapy,Icmp,我正在使用scapy编写两个python脚本,一个在服务器端执行,另一个在客户端执行。在客户端,脚本将UDP数据包发送到服务器上的封闭端口。我的脚本的目的是测试客户端是否会接受从服务器接收到的无效ICMP数据包。在服务器端,我将嗅探传入的流量,并用无法访问的ICMP端口响应每个UDP数据包,每次我都会修改ICMP数据包中的一个字段(假值),以测试是否收到该数据包。我的问题是:当我修改原始字段(有效负载)时,客户端接受这个ICMP数据包是否正常?我的意思是在原始场地上没有控制。我希望我的问题是清楚