类似于;任何;macos中的伪设备

类似于;任何;macos中的伪设备,macos,capture,tcpdump,any,Macos,Capture,Tcpdump,Any,是否有可能通过tcpdump从MacOS中的所有设备捕获数据包? 在Linux中,我会使用“sudotcpdump-I any”。在我的MacOS中,当我执行'sudo tcpdump-D'时,我没有看到“任何”伪设备 Per@ChristopherMaynard: tcpdump文档将any指定为在linux上工作:在具有2.2或更高版本内核的linux系统上,可以使用``any''接口参数从所有接口捕获数据包。但是,它实际上不是特定于操作系统的 在我的测试中,tcpdump接受macos上

是否有可能通过tcpdump从MacOS中的所有设备捕获数据包? 在Linux中,我会使用“sudotcpdump-I any”。在我的MacOS中,当我执行'sudo tcpdump-D'时,我没有看到“任何”伪设备

Per@ChristopherMaynard:
tcpdump文档将
any
指定为在linux上工作:
在具有2.2或更高版本内核的linux系统上,可以使用``any''接口参数从所有接口捕获数据包。
但是,它实际上不是特定于操作系统的


在我的测试中,tcpdump接受macos上的
any
接口,因此在回答您的问题时,linux上的
any
模拟为macos上的
any

bash-5.0$sudo tcpdump-i任何
tcpdump:数据链路类型PKTAP
tcpdump:抑制详细输出,使用-v或-vv进行完整协议解码
侦听任意链接类型的PKTAP(Apple DLT_PKTAP),捕获大小262144字节
09:43:57.789302 IP6 dsldevice7.attlocal.net.domain>2600:1700:a700:7340:6dad:2758:c536:f29f.56483:4283 1/0/0 SOA(85)
09:43:57.789324 IP6 2600:1700:a700:7341:6dad:2759:c536:f29f>dsldevice7.attlocal.net:ICMP6,目标不可访问,不可访问端口,2600:1700:a700:7340:6ded:2759:c536:f29f udp端口56423,长度141
...
tcpdump应具有相同的选项() 在macos和linux上,除了下面详述的那些。如果您有较旧版本的tcpdump(我的版本是4.9.3/Apple版本83.200.3),可以使用
brew安装tcpdump
进行更新

Macos/Linux Tcpdump的差异 在有疑问时,您仍应查看手册页,但这是差异的总结:

Linux
  • -Q方向
    :选择发送/接收方向(输入/输出/输入)
马科斯
  • -k
    :控制数据包元数据的显示
  • -Q
    :基于数据包元数据指定筛选器表达式
  • -P
    :保存到pcapng

注意:与Linux或*BSD、Macos不同。

如果tcpdump手册页进行了更新,以便更清楚地看到“any”界面不仅限于Linux系统,在内核为2.2或更高版本的Linux系统上,“any”接口参数可用于从所有接口捕获数据包..为@ChristopherMaynard的有用评论干杯。添加到答案中(请随意编辑答案,因为你在这个问题上有更权威的知识)我很谦卑,你认为我在这个问题上有更权威的知识,但在这个问题上真正的权威是盖伊·哈里斯。不幸的是,我认为他已经不在这个网站上了。tcpdump手册页只提到Linux,这有点令人惊讶,尤其是因为Guy在苹果工作。无论如何,如果手册页给Mac用户(不是我)造成混乱,它可以更新,但很可能不会没有错误报告,因此如果maxim proshin希望看到这一点发生变化,那么最后应该提出一个问题,如果Mac上支持“any”接口,但“tcpdump-D”没有列出它,那么,这可以说是另一个应该提出的问题。在Linux上,“tcpdump-D”会将该接口显示为“任何(在所有接口上捕获的伪设备)”,因此预期它也会类似地显示在Mac上。@ChristopherMaynard这是我的观点。在对tcpdump标记上的堆栈溢出做出响应的人中,您提供了最高质量的信息。如果他们不参与,是否存在更好的权威是无关紧要的。