linux tcpdump抓包,wireshark实时解析

由于CentOS7上yum安装的wireshark对CoAP的解析支持不太完善,而我windows上的wireshark可以完美支持,所以以往我先在CentOS上wireshark抓包,并保持,然后拷贝到Windows上来解析,但是这样没有实时性。后来发现wireshark支持PIPE接口,网上搜到方法:

ADVsock2pipe+Wireshark+nc+tcpdump

下面要介绍的方法的核心原理,就是开辟一条PC与虚拟机的socekt通道并将数据转投到pipe中,然后在PC上,wireshark从pipe的另一端拿数据,让wireshark基于管道(PIPE)抓包。

 
一、测试设备
PC(windows系统)

虚拟机(linux系统)

二、工具
(1)PC上
wireshark
 
(2)虚拟机
nc
tcpdump
 
(3)网络环境
PC与虚拟机处于同一局域网
PC ip 10.0.0.23

 

itouch ip 10.0.0. 24

 

 

 
三、抓包步骤

第一步:在PC上运行ADVsock2pipe,输入如下命令

 

ADVsock2pipe.exe -pipe=wireshark -port 2134 

 

第二步:在PC上运行wireshark,设置caption-Options

 

第三步:在linux上,打开终端输入以下命令

tcpdump -i eth0 -nn -w - -U -s 0 "not port 2134" | nc 10.0.0.23 2134
第四步:在linux上运行想要抓包分析的应用,即可在PC上实时的用wireshark观察数据包发送情况了
 

 

 

 

参考:

http://wiki.wireshark.org/CaptureSetup/Pipes

posted @ 2017-11-08 09:56  thammer  阅读(4312)  评论(0编辑  收藏  举报