Wireshark是一个十分强大的开源的网络抓包工具,在调试与网络有关的灵异问题以及在无线网络环境下偷鸡摸狗之类的场景中有很好的疗效。

安装

MacOS下使用brew cask一把梭。

brew cask install wireshark

远程抓包

原理是在需要抓包的机器上使用tcpdump嗅探网络包,并将数据流通过ssh传回本地,用本地的wireshark进行读取。

在远程机器上执行如下命令

mkfifo pcap
sudo tcpdump -s 0 -U -n -w - -i eth0 not port 22 > pcap

其中mkfifo能够创建一个FIFO文件(命名管道)。tcpdump进行抓包,并将数据写入这个FIFO文件。

之后在本地执行

mkfifo pcap
ssh user@remote_addr "cat pcap" > pcap

同样在本地创建FIFO文件,通过ssh将远程pcap管道的数据重定向到本地的pcap文件中,之后就可以打开wireshark进行分析。

wireshark -k -i pcap

从此CRUD程序员打开了通往新世界的大门- -。