用上wireshark
今天系统有点问题,需要排除一下tcp通讯的问题,在想知道消息到底有没有发送到服务器上,用上了这个抓包解包工具,以前虽然有听过但没用上。
下载
服务器上使用
服务器上用tcpdump命令即可抓到想要的包了
# tcpdump -h
tcpdump version 4.9.2
libpcap version 1.7.4
OpenSSL 1.0.2g 1 Mar 2016
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ]
[ -Q in|out|inout ]
[ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ]
[ --immediate-mode ] [ -T type ] [ --version ] [ -V file ]
[ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ]
[ -Z user ] [ expression ]
用法随便搜一下都有,直接上手抓取特定的来源ip,并保存.cap
文件即可,从服务器拉下来,在用工具打开,非常方便
tcpdump port 60021 and src host xxx.xxx.xxx.xxx -w test.cap
双击文件即可打开,内容什么的都一目了然
在本地上使用(win)
由于WireShark只能抓取经过电脑网卡的包,所以还得进行一些操作
- 用管理员身份打开命令窗口
- 输入ipconfig查看本地ip和网关
- 添加到路由,也可以先看看路由里有什么
route PRINT
执行添加命令
route add 192.168.0.5 mask 255.255.255.255 192.168.0.1
!!!注意这是我本机的,192.168.0.5换成你本机的ip 192.168.0.01换成你本机的网关
添加完成后,再次查看后会发现多了一条(当然添加成功也会提示操作完成!
)
这时候再回到你要做的操作,这里我是只想监听60021的数据(程序上如果是127.0.0.1/localhost的话,需要换成本机ip地址
)
- 最后都弄完后,需要删掉那个添加的路由
route delete 192.168.0.5 mask 255.255.255.255 192.168.0.1
回顾
这个工具还是蛮好用的,也可谓是神器,只是平时少使用了一点,网络工程师用的会比较多一点,当然作为一名后端开发,掌握Wireshark的基本使用方法还是很有必要的