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给我带来了问题,我尝试重新排列它,但是无论我放置在哪里,它都不起作用。
您不能在Macos内置的tcpdump上使用-Q
选项,因为它基于BSD版本。通过查看其版本信息,可以看到它们是不同的软件:
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
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是可能的。