我正在使用来自ftp://ftp.visi.com/disk3/mdc/ping.py的纯Python ping实用程序来监视网络上的主机,我的ZyWALL USG200路由器抱怨如下:
from Any to DMZ, [type=ICMP-Decoder(8911017)] bad-icmp-l4-size ATTACK bad-icmp-l4-size Action: No Action Severity: medium
怎么了?在
UPD:我将尝试通过USG的维护菜单捕获实际的数据包,并与Linux ping进行比较。。。在
根据路由器的警告,ICMP数据包的格式不正确。特别是,包的第4层(ICMP)的大小似乎是错误的(
bad-icmp-l4-size
)。在您应该使用类似于
tcpdump
的方法来获取已发送包的内容,方法如下:在你的情况下,我宁愿寻找另一个实现。那个代码一团糟。在
我从WireShark对捕获的数据包的分析中复制了ping数据包的内容—代码为192个字母Q,ping的数据包有点不同:
在第128行后替换或插入
data = 192 * 'Q'
包内容的正确定义
data = 'e283030000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637'.decode("hex")
警告消失了。在
但事实上,我可能希望像José建议的那样,寻求更干净的实施。在
相关问题 更多 >
编程相关推荐