我有一些igmp查詢,每2分鐘出來bond0接口。IGMP查詢的跟蹤源
IP 0.0.0.0> 224.0.0.1:igmp query v2。
是否有可能跟蹤哪個進程/程序正在做這個查詢?
從檢查中我發現查詢的源MAC地址是bond0地址的mac地址。
由於這個查詢需要幾個CPU週期,我不確定我會在ps或netstat中找到它。我想我需要一些跟蹤工具,如perf或systemtap。我是調試和跟蹤領域的新手,所以我需要一些幫助來找到正確的命令和參數。
謝謝。
我有一些igmp查詢,每2分鐘出來bond0接口。IGMP查詢的跟蹤源
IP 0.0.0.0> 224.0.0.1:igmp query v2。
是否有可能跟蹤哪個進程/程序正在做這個查詢?
從檢查中我發現查詢的源MAC地址是bond0地址的mac地址。
由於這個查詢需要幾個CPU週期,我不確定我會在ps或netstat中找到它。我想我需要一些跟蹤工具,如perf或systemtap。我是調試和跟蹤領域的新手,所以我需要一些幫助來找到正確的命令和參數。
謝謝。
正如你可能知道的IGMP在第3層工作,所以它可能有點棘手。它不必在端口和進程ID之間進行綁定。
你必須使用這些工具的組合:
tcpdump (to be certain IGMP is being sent out)
netstat -avnp
ps -ef | fgrep <pid>
lsof
當你這樣做了tcpdump,我建議作出積極的PS -ef監控
while [[ true ]]; do
ps -ef >> /tmp/ps.out
netstat -natp | grep 234.55.55.55 >> /tmp/netstat.out
sleep .5
done
你會然後需要做的過程的消除。
「_IGMP在第2層和第3層上運行」否,IGMP是IP協議的一部分,即第3層協議。從_ [RFC 2236,Internet Group Management Protocol,Version 2](https://tools.ietf.org/html/rfc2236)_:「_Iike ICMP,IGMP是IP的一個組成部分。 2和第3層。 –
IGMP查詢將具有查詢路由器的源地址。這是非常重要的,因爲如果有多個多播路由器,最低的源IP地址將成爲查詢器,其他路由器需要進入非查詢器狀態。請參閱_ [RFC 2236,Internet組管理協議,版本2](https://tools.ietf.org/html/rfc2236)_:「_如果多路廣播路由器從IP地址較低的路由器收到查詢消息,它必須成爲該網絡上的非查詢器._「 –
由於您知道並且IGMP查詢來自IP,因此您應該只查找運行IP的進程。 –