在 Mac 上使用“终端”捕捉数据包踪迹

 

如果您知道如何读取数据包踪迹,您可能会发现这在诊断网络连接问题时十分有用。

获取网络接口的 BSD 设备名称

  1. 使用管理员帐户登录 Mac。
  2. 按住 Option 键,然后选取苹果菜单 () >“系统信息”(或“系统概述”)。
  3. 从“系统信息”窗口左侧的列表中选择“网络”。 
  4. 从该窗口右侧的活动服务列表中选择网络接口(如 Wi-Fi 或以太网)。
  5. 从该窗口底部的详细信息部分中,找到“BSD 设备名称”。在图示中,Wi-Fi 的 BSD 设备名称为 en0。

“系统信息”窗口

捕捉数据包踪迹

  1. 打开“应用程序”文件夹内“实用工具”文件夹中的“终端”。
  2. 输入以下命令,但要将“BSDname”替换为“系统信息”中的 BSD 设备名称(如 en0、en1 或 ppp0):

    sudo tcpdump -i BSDname -s 0 -B 524288 -w ~/Desktop/DumpFile01.pcap
     
  3. 按下 Return 键,然后在出现提示时输入您的管理员密码。
  4. “终端”应该会显示“tcpdump: listening on…”,以表明其正在监听该网络接口上的活动。
  5. 在“终端”打开后,执行您想要测试的网络功能。
  6. 在网络功能执行完成后,返回“终端”并按 Control-C,以捕捉数据包踪迹。“终端”会将其存储到桌面上名为“DumpFile01.pcap”的文件中。 
  7. 要查看该文件的内容,请在“终端”中使用以下命令:

    tcpdump -s 0 -n -e -x -vvv -r ~/Desktop/DumpFile01.pcap
     
  8. 要捕捉其他数据包踪迹,请修改“终端”命令,以增加存储的文件(如 DumpFile02.pcap 和 DumpFile03.pcap)的数量。

进一步了解

Apple Developer 网站上提供了有关数据包踪迹的更多信息。对网络连接进行故障诊断时,您应该知晓自己的电脑机型、macOS 版本、IP 地址(和目标 IP 地址),以及媒体访问控制 (MAC) 地址。您还应该了解自己的电脑在网络活动中所扮演的角色,以及与该问题关联的各网络事件的发生时间。

在对 AirPort 基站和宽带调制解调器之间的连接进行故障诊断时,请重新启动基站,并在启动时捕获其与互联网服务提供商之间的交互。您可以使用“AirPort 实用工具”或者简单地通过断开其电源来重新启动基站。测试时,最好将基站、调制解调器以及完成捕获操作的电脑连至以太网集线器(而非交换机)。您还应该手动为完成捕获操作的电脑分配 IP 地址,以免其占用基站所需的 DHCP 租期(使用 169.254.x.x 地址即可)。

数据包踪迹可能会显示 Mac 发送的数据包的 TCP 校验和为“bad”。这是因为数据包踪迹是在网络堆栈的链路层上捕获的,该层就位于生成校验和的物理网络适配器的前面。可以放心地忽略它。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值