我想监控在 OSX El Capitan 上运行的两个进程之间的流量。服务器正在监听 127.0.0.1,所以我相信我需要监控 lo0 环回接口。
根据https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/tcpdump.1,我正在尝试使用Apple提供的tcpdump程序通过以下命令执行此操作。 html:
sudo tcpdump -i pktap,lo0 -v ./DumpFile01.pcap
但这失败了:
tcpdump: data link type PKTAP
tcpdump: listening on pktap,lo0, link-type PKTAP (Packet Tap), capture size 262144 bytes
tcpdump: pktap_filter_packet: pcap_add_if_info(lo0, 0) failed: pcap_add_if_info: pcap_compile_nopcap() failed
它似乎是 Apple 的 tcpdump 版本:
tcpdump --version
tcpdump version 4.7.3 -- Apple version 66
libpcap version 1.5.3 - Apple version 54
从上面的 tcpdump 手册页和https://dreness.com/blog/archives/829我想我应该能够运行以下命令来查看给定进程的数据包:
tcpdump -i pktap,lo0 -Q "proc =myserver"
有人在这方面取得成功吗?我会尝试最新的 tcpdump,但我从手册页了解到“-Q”是 Apple 扩展。