1.选择好网卡
2.开始后,监听tcp端口
在filter输入框:tcp.port == 12345
监控本地的好像不行,
当使用tcpdump或者wireshark之类的tcp层工具抓包,获取是加密的内容,而如果用应用层抓包,使用Charels(Mac)、Fildder(Windows)抓包工具,那当然看到是明文的。
Wireshark使用手册
点击程序安装下一步
1选择网卡
2点击运行可监测本地网络下地址访问情况
3输入执行监控ip,可看到监控端口号 ip.src==192.168.200.5(或ip.dst==192.168.200.5)
然后可执行下一步测试具体端口号是否想通
(待完善)
小扩展
过滤源ip、目的ip。
在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1
端口过滤。
如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包
协议过滤
比较简单,直接在Filter框中直接输入协议名即可,如过滤HTTP的协议
http模式过滤。
如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST"
连接符and的使用。
过滤两种条件时,使用and连接,如过滤ip为192.168.101.8并且为http协议的,ip.src==192.168.101.8 and http。
wireshark看不到访问localhost的流量,只能看到经过网卡的流量。这在开发过程中导致无法调试自己本地localhost的接口。本文提供一种解决方式。
GET /api/test/requestParam?name=hk111111 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: PostmanRuntime/7.17.1
Accept: */*
Cache-Control: no-cache
Postman-Token: d9108899-7a56-47bd-abaf-46dd4ab8f83b
Host: localhost:8888
Accept-Encoding: gzip, deflate
Cookie: JSESSIONID=41A840ADD2AA4F9186D82E4A177BF7A8
Connection: keep-alive
HTTP/1.1 200
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 8
Date: Fri, 11 Oct 2019 13:24:34 GMT
hk111111
1、官网下载wireshark默认安装即可(官网下载就是中文版)
https://www.wireshark.org/download.html
2、Linux上安装WpcapSrc
wget http://www.winpcap.org/install/bin/WpcapSrc_4_1_2.zip
unzip WpcapSrc_4_1_2.zip
cd winpcap/wpcap/libpcap
chmod +x configure runlex.sh
CFLAGS=-static ./configure
make
cd rpcapd
make
3、启动rpcapd
cd winpcap/wpcap/libpcap/rpcapd
./rpcapd -n
4、设置远程服务器
a、选择捕获选项
b、右下角的管理接口
c、选择远程接口
d、点击加号
e、输入主机、端口(rpcapd默认是2002)、主机的用户和密码
f、这时候会显示远程服务的网卡
g、选择网卡
h、选择ok,这时就开始监听了
可以选择对应的协议,比如mysql
在协议列表中选择协议,并指定端口
这时候会解析为MySQL协议
如果要监听本地,则需要把WinPcap卸载,然后去下载安装npcap,重新开启wireshark,后网卡列表会显示一个本地的,选择监听它就行
npcap地址:https://nmap.org/download.html
WinPcap地址:https://www.winpcap.org/install/default.htm
如果要再次去监听远程服务器,需要卸载npcap,后再安装WinPcap,重新启动wireshark后才能监听远程服务器。博主并没有去研究其他的方式