主页 > 整理 | 学习笔记 > linux下wireshark远程抓包

linux下wireshark远程抓包

由于服务器没有图形用户界面,或者服务器vnc控制比较麻烦,需要分析网络数据包的时候可以通过ssh和tcpdump将数据包远程保存到本地的fifo文件,然后用本地wireshark读取fifo来远程抓包。实现步骤如下:

1.在本地计算机(如ubuntu)创建一个fifo文件,如/tmp/packet_capture

mkfifo /tmp/packet_capture

之后网络数据包流会写入到这个文件中。

2.使用wireshark监听如上的fifo文件
进入Capture option选项,点击Manage Interfaces,选择/tmp/packet_capture文件,保存,再点击start开始抓包。设置如下图(版本ubuntu14.04 Wireshark Version 1.10.6 (v1.10.6 from master-1.10))
aaa
3.使用ssh远程抓包
在命令终端中运行如下命令,并输入密码(如果不是root用户请使用普通用户并在tcpdump前加sudo, eth1是抓取的网卡名)

ssh root@remoteserver.com "tcpdump -s 0 -U -n -w - -i eth1 not port 22" >/tmp/packet_capture

这样wireshark就开始抓包了。

补充
也可以直接写如下脚本命令直接抓包,省去上面设置的流程。

~$ cat wireshark.sh
#!/bin/bash
wireshark -k -i <(ssh root@remote-server "tcpdump -s 0 -U -n -w - -i eth1 not port 22")

参考链接:
http://blog.jasonantman.com/2011/04/using-wireshark-to-capture-packets-from-a-remote-host/

Tags: tcpdump wireshark 抓包 远程

发表评论

电子邮件地址不会被公开。 必填项已用*标注