0

我有 2 台服务器(serv1,serv2)进行通信,我正在尝试嗅探匹配从 serv1 传输到 serv2 的某些条件的数据包。Tshark 安装在我的桌面(desk1)上。我编写了以下脚本:

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 上运行它时,它无法捕获任何数据包。他们都在同一个局域网上。我错过了什么?

4

3 回答 3

2

假设 serv1 或 serv2 与 desktop1 位于同一物理以太网交换机上,您可以使用称为 SPAN(交换机端口分析器)的功能嗅探 serv1 和 serv2 之间的传输流量。

假设您的服务器在 FastEthernet4/2 上,而您的桌面在 Cisco 交换机的 FastEthernet4/3 上...您应该 telnet 或 ssh 进入交换机并输入这些命令...

4507R#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.

4507R(config)#monitor session 1 source interface fastethernet 4/2

!--- This configures interface Fast Ethernet 4/2 as source port.

4507R(config)#monitor session 1 destination interface fastethernet 4/3

!--- The configures interface Fast Ethernet 0/3 as destination port.



4507R#show monitor session 1
Session 1
---------
Type : Local Session
Source Ports :
Both : Fa4/2
Destination Ports : Fa4/3


4507R#

此功能不仅限于 Cisco 设备... Juniper / HP / Extreme 和其他企业以太网交换机供应商也支持它。

于 2011-11-29T09:43:59.277 回答
1

如何使用错误命名的 tcpdump 来捕获来自网络的所有流量。我建议做的只是在接口上捕获数据包。不要在捕获级别进行过滤。之后就可以过滤 pcap 文件了。像这样的东西

tcpdump -w myfile.pcap -n -nn -i eth0
于 2011-11-29T04:57:12.953 回答
0

如果您的 LAN 是交换网络(大多数都是)或您的桌面 NIC 不支持混杂模式,那么您将无法看到任何数据包。验证这两件事。

于 2011-11-29T04:54:31.410 回答