拦截本地回环数据
- 本机访问本机的回环数据是不经过网卡的(比如在本地访问搭建在本机上的web服务),但我们经常有服务搭建在本机的操作也经常有拦截本地回环数据包加以分析的需求,所以我们环要拦载回环数据包
- 以管理员身份运行cmd
- 使用ipconfig查看本机ip和网关
Windows 添加路由
-
在命令行下输入route命令,会有对应的提示信息
-
添加一条路由条目
route add 173.18.18.0 mask 255.255.255.0 172.18.18.1
运用:假设自己的网关是172.18.18.1,要访问的同事的网关173.18.18.222,但是ping不通,价格路由之后就可以ping通了 -
添加一条永久路由条目
route -p add 173.18.18.0 mask 255.255.255.0 172.18.18.1
-
删除路由条目
route delete 173.18.18.0
-
查看所有的路由表信息
route print
使用以下命令添加路由,指定回环数据也要先转发到网关
route add IP地址 mask 255.255.255.255 网关 metric 1
基本使用
开始抓包
显示过滤器
- 找到自己分析的内容,可以使用过滤器
- 在过滤器那一栏中填入
http.request.method == "GET"
,然后用Chrome浏览器访问http://fanyi-pro.baidu.com/index
- 常用的过滤器
tcp、udp 前者表示只显示tcp,后者表示只显示udp。也可以!tcp,表示显示除了tcp之外的。还可以tcp or udp,表示显示tcp和udp。
ip.src == 192.168.1.120 and ip.dst == 208.101.60.87 ,ip.src表示客户端ip(源地址ip)、ip.dst表示服务器ip(目标地址ip)
tcp.port == 80 || udp.srcport == 80 ,tcp.port 表示tcp的端口为80,udp.srcport表示udp源端口为80。||表示或者和or等效,&&和and等效。(还有tcp.srcport、tcp.dstport等等)
捕获过滤器
- 可以在捕获阶段就过滤掉无用的流量
- udp、tcp 前者表示只显示tcp,后者表示只显示udp。也可以!tcp,表示显示除了tcp之外的。还可以tcp or udp,表示显示tcp和udp。
- host 192.168.1.110 ,表示只捕获ip地址为192.168.1.110的封包(这里的语法和显示过滤器不一样,请注意)
- dst port 80 or port 443、not port 53,表达端口的过滤(这里的语法和显示过滤器不一样,请注意)
着色规则
- 不同颜色代表不同含义
- 具体规则可以查看 识图 -> 着色规则
抓取localhost(环回地址)
- localhost走的其实是npcap loopback adapter网卡(环回网卡),Wireshark抓包其实就是对网卡抓包。所以,Wireshark肯定是可以对localhost等环回地址进行抓包,只要捕获的时候选中网卡即可。
抓取移动设备流量
如果要抓取移动设备,可以先在笔记本电脑开启wifi热点。捕获对应的虚拟网卡,最后用手机连上wifi就可以进行抓包了。
win10自带了wifi热点,不用去找第三方的wifi热点软件了。如果手机连不上,可以尝试关掉笔记本的防火墙试试。
TCP / IP 四层协议
- 下面的动图是各层对应的数据
从上面的动图我们可以发现,应用层到传输层再到网络层到以太网层,其对应的数据包也在对应的往前移。
我们可以想象一下,应用层数据往上传递,每经过一层就包上一个新得信封。等数据送到目的主机,然后每往下一层就拆一个信封,最后拆到应用层也就是最开始得数据了。
TCP 三次握手
那么在Wireshark中怎么观察呢。我们还是以http://fanyi-pro.baidu.com/地址为例。首先打开Chrome输入地址,F12打开浏览器的Network面板,刷新页面在面板中找到服务器IP。 打开Wireshark开始抓包,并在显示过滤器只显示IP地址对应的数据。
TCP 四次挥手
除了三次握手,还有对应的四次挥手。不知道是不是我网络不好,“挥手”的时候老是出现重传错误干扰(就是前面说的那种红字黑底封包)。下面是我本地环境自己写代码的抓包效果。
与握手不同是挥手是发送FIN标志位断开连接,其他都差不多。
HTTPS 的抓包
因为HTTPS是HTTP的基础下加入SSL加密层,所以Wireshark抓到是密文。也就看不到请求参数和响应结果,甚至连url链接都是密文。
要想在Wireshark抓包明文数据,可进行如下操作:
- 1、windows电脑配置环境变量 SSLKEYLOGFILE D:\testssl.txt
- 2、Wireshark 编辑 - 首选项 - Protocols - TLS 最后一个选中D:\testssl.txt。
如果是HTTP2可以进行http2.headers.method == "GET"或http2.headers.method == “POST”,如果是HTTP可以进行http.request.method == "GET"过滤。
UDP 协议
Wireshark除了可以抓包TCP同样也可以对UDP进行抓包
其实这个抓取的是BACnet报文,而这个BACnetIP正是基于UDP的一个协议。