2013-12-17 43 views
0

我使用的是從ftp://ftp.visi.com/disk3/mdc/ping.py純Python Ping實用程序來監視整個網絡和我的ZyWALL USG200路由器主機警告抱怨這樣的:純Python平引起我的合勤科技的路由器來觸發壞ICMP-L4-大小ATTACK

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的比較平...

+0

它涉及到提到的python實現的純粹的ping編程,證據是它如何破壞路由器監控。答案包含所提及的執行ping的軟件修復,這也是關於編程的。 – kuz8

回答

1

我從捕獲的數據包是Wireshark分析複製ping包的內容 - 代碼有它作爲192個字母Q,平了它有點不同:

更換或行後面插入128

data = 192 * 'Q'

的數據包的內容正確定義

data = 'e283030000000000101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f3031323334353637'.decode("hex")

並且警告消失了。

但事實上,我可能希望像José建議的那樣尋找更清潔的實施方案。

2

根據你的路由器的警告,貌似ICMP數據包的格式不正確。特別是,包的層4(ICMP)的大小似乎是錯誤的(bad-icmp-l4-size)。

你應該使用類似tcpdump獲得發送包的內容,使用類似:

sudo tcpdump -nnvXS -c1 icmp 

在你的情況,我寧願找另一個實現。該代碼是一團糟。

+0

非常感謝您的提示和命令示例!我比較了數據包,嘲笑「平」似乎消失後 - 會寫回答。 – kuz8