DHCP 帧的正确 tshark 捕获过滤器选项是什么?

问题描述 投票:0回答:1

我正在尝试在我的 mac 书中使用以下命令捕获 DHCP 帧进行分析。

sudo tshark -i en0 -f "port 67 or port 68" -a duration:300 -w /tmp/dump.pcap

我使用以下命令获取数据包中所有协议的所有字段,但它没有打印任何值。 DHCP 帧的捕获过滤器选项是否正确?任何帮助表示赞赏?

sudo tshark -T text -r /tmp/dump.pcap -V
linux wifi wireshark packet-capture tshark
1个回答
1
投票

回答

是的,你的命令没问题。也许没有 DHCP 数据包到达,因此未被捕获。尝试通过同一设备的第二个终端窗口中的命令强制 DHCP 活动:

sudo dhclient -r
sudo dhclient

警告: 如果您是远程连接,请勿应用这些命令。第一个命令释放 IP 地址,您的连接将被中断,无法输入第二个命令并远程取回地址。

有关数据采集的一些细节

thsark 过滤器与 Wireshark 具有相同的语法。 存在 2(或 3)种过滤器类型:

  • 捕获过滤器,
    -f
    tshark 选项:它选择将捕获哪些数据包,不捕获哪些数据包。这很有用,例如以获得较小的捕获文件大小。
  • 显示过滤器,
    -Y
    tshark选项:它选择从所有捕获的数据包中显示哪些数据包。

您可以结合使用这两种类型。

示例:

tshark -i eth0 -n -Y "ip.addr==8.8.8.8"
tshark -i eth0 -n -Y "ip.addr==8.8.8.8" -f "udp port 53"
tshark -i eth0 -n -Y "ip.addr==8.8.8.8 and udp.port==53"
  • 所有数据包均被捕获,但仅显示 8.8.8.8 IP 地址的数据包。
  • 只捕获DNS数据包,并且只显示捕获到的8.8.8.8 IP地址的数据包。
  • 所有数据包均被捕获,但仅显示 UDP 端口 53(即 DNS)的 8.8.8.8 IP 地址数据包。比较上面一行中显示过滤器和捕获过滤器之间的端口过滤的不同语法。

也可以应用所有其他选项,如 -a、-b、-w、-s。

tcpdump
应用程序也很有用。它在大多数 Linux 系统中都可用,甚至非常小或特殊。它没有显示过滤器选项。只能应用捕获过滤器。缺少其他选项:-a、-b ...

sudo tcpdump -i eth0 -w /tmp/dhcp.pcap "udp port 67 or udp port 68"
© www.soinside.com 2019 - 2024. All rights reserved.