在Mac上无法使用tcpdump的-Q

时间:2019-10-29 21:21:53

标签: macos tcpdump

DEVs-iMac:dev$ sudo tcpdump -Qout -nnSX -c 1 -w packet.pcap port 9656
Password:
tcpdump: cannot parse term at: 
tcpdump: invalid expression "out"

我正在尝试转储所有传出的IP数据包。它适用于Linux,但不适用于Mac。有谁知道为什么吗?

我发现它唯一的-Qout给我带来了问题,我尝试重新排列它,但是无论我将其放置在什么地方,它都行不通。

1 个答案:

答案 0 :(得分:1)

Linux vs Macos tcpdump

您不能在Macos内置的tcpdump上使用-Q选项,因为它具有Apple的附加功能。通过查看其版本信息,您可以看到它们是不同的软件:

Macos版本

macos-10.14$ sudo tcpdump --version
tcpdump version tcpdump version 4.9.2 -- Apple version 83.200.2
libpcap version 1.8.1 -- Apple version 79.250.1
LibreSSL 2.2.7

Linux版本

ubuntu-18.04$ sudo tcpdump --version
tcpdump version 4.9.2
libpcap version 1.8.1
OpenSSL 1.1.1  11 Sep 2018

手册页

令人困惑的是,Macos终端上的man tcpdump显示-Q,该字符不可用。为了进行比较:

替代品

如果方向对您很重要,则可以构建from source。根据您的架构,这may or may not是可能的。