我有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之间的主要区别 –
好的,这清除了很多东西。谢谢 –