我有2個服務器(serv1,serv2)進行通信,我試圖嗅探符合從serv1傳輸到serv2的某些標準的數據包。 Tshark安裝在我的桌面(桌面1)上。我寫了下面的腳本:使用tshark嗅探數據包
while true; do
tshark -a duration:10 -i eth0 -R "(sip.CSeq.method == "OPTIONS") && (sip.Status-Code) && ip.src eq serv1" -Tfields -e sip.response-time > response.time.`date +%F-%T`
done
這個腳本似乎當SERV1運行一切正常(因爲SERV1正在發送數據包serv2上)。但是,當我嘗試在desk1上運行它時,它無法捕獲任何數據包。他們都在同一個LAN上。我錯過了什麼?
即使在serv1上運行相同的腳本時,這是否會成爲問題?我最初的猜測是-i eth0會導致問題。我的命令看起來好嗎? –
那麼,交換網絡的問題將不會成爲serv1的一個因素,因爲數據包打算流入/流出該機器(所以交換機當然會向它發送流量)。在desk1上,交換機(如果存在)不會將您的機器識別爲數據包的合法接收方,所以不會將它們發送給您。這是運行在serv1和desk1之間的主要區別 –
好的,這清除了很多東西。謝謝 –