在Mac上无法使用tcpdump的-Q

问题描述 投票:0回答:1
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
1个回答
0
投票

Linux vs BSD tcpdump

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

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是可能的。

© www.soinside.com 2019 - 2024. All rights reserved.