如何獲得不同類型的 ICMP
我有一個任務,我花了很多時間。我不精通 Linux,但我可以管理基本的事情。
任務是收集不同類型的 ICMP 數據包。我可以通過 tcpdump(我更喜歡)或 Wireshark 來收穫它們。
我可以使用 ping 獲取 ICMP 類型的回顯回復和回應要求,並使用 tracepath 或 traceroute 獲取超時時間。現在,我想要得到的是無法訪問或時間戳或其他東西。我需要另外兩種類型,但是我不知道生產方法。
我嘗試 ping 一個不存在的主機或錯誤的埠,並以相同的方式使用 tracepath,但我什麼也沒得到。
有人可以告訴我或告訴我可以使用哪些命令以及以哪種方式獲得另外兩種類型的 ICMP 數據包?
您可以
iptables ... -j REJECT
在單獨的目標主機上生成一些帶有限定符的 ICMP 不可達變體。(或 VM。)可能的限定詞是icmp-net-unreachable
,icmp-host-unreachable
,icmp-port-unreachable
,icmp-proto-unreachable
,icmp-net-prohibited
,icmp-host-prohibited
,icmp-admin-prohibited
, 和tcp-reset
.例如:
iptables -j REJECT --reject-with icmp-admin-prohibited
icmpush
做你需要的。來自
man icmpush
:icmpush 是一個建構完全從命令行定制的 ICMP 數據包的工具。
它支持以下 ICMP 錯誤類型:Redirect、Source Quench、Time Exceeded、Destination Unreach 和 Parameter Problem。
以及以下 ICMP 資訊類型:地址遮罩請求、時間戳、資訊請求、迴聲請求、路由器請求和路由器廣告。
icmpush
已作為 GPLv2 獲得許可,可用於 debian(可能還有大多數其他發行版)打包,原始碼可在http://www.securityfocus.com/data/tools/icmpush22.tar.gz獲得