一、怎样获取WireShark?
很简单,百度搜索WireShark,就会看到下载地址。
二、使用WireShark
因为WireShark是英文软件,所以你需要一些必要的英文基础。
打开软件界面
1、开始抓包
选中你需要的网卡,点击start即可开始抓包,在这个时候请确保你想要抓的包会通过你选择的网卡。一般做法是在电脑上插一块无线网卡,然后让你的设备连接该无线网卡
你会发现流过网卡的数据包非常多。这时候你需要用到最顶上的过滤选项。过滤语法不算复杂,但是一时半会也记不完,记住常用的即可。
(1)过滤源ip、目的ip。在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168。101.8的包,ip。dst==192.168。101.8;查找源地址为ip。src==1.1。1.1;
(2)端口过滤。如过滤80端口,在Filter中输入,tcp。port==80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp。dstport==80只过滤目的端口为80的,tcp。srcport==80只过滤源端口为80的包;
(3)协议过滤。直接在Filter框中直接输入协议名即可,如过滤HTTP的协议;
(4)http模式过滤。如过滤get包,http。request。method==”GET”,过滤post包,http。request。method==”POST”;其他协议的数据包大都也是这样。
(5)连接符and/or的使用。连接符and的使用。过滤两种条件时,使用and连接,如过滤ip为192.168。101.8并且为http协议的,ip。src==192.168。101.8 and http。我想作为一个程序员or就不需要我举例了吧。
2、提取数据
你已经找到你想要的包了
如果你想看到你POST的结果,一般来说都在你请求下面的一个HTTP/1.1 200 ok 的数据包。包结构跟POST去的差不多。如果服务器响应缓慢,你只需要选中POST数据包右键点击Follow TCP Stream,即可快速筛选本次同信的所有数据包。如果是JSON或文本的话拷贝可打印文字就可以咯。如果是二进制通讯,拷贝HEX即可。
3、查看JSON数据
可能大家习惯于用网页上的在线解析。
不需要结束标志的,每个都有偏移和当前长度。而且开始的有总长度。所以总可以确定是否已经接收完整了。 IP分片,TCP是流式的,分片干吗?
用wireshark只能捕获到程序安装所在计算机上的数据包,dns解析是一个涉及不同域名服务器的过程,你无法在本机上得知全部过程,但是能捕获到解析请求和最终的返回结果。
1、首先打开wireshak,开始捕捉。
2、打开浏览器,访问网站
大概的过程就这些,等网站被打开,你所描述的数据基本上都有了。
分析其中的数据,dns、tcp握手等都在其中。看协议类型即可。
ip地址、mac地址也在数据包中,wireshark默认不显示mac地址,你可以在column preferences中添加新栏目hardware src(des) address即可
下面是数据包的截图,前两个dns,后面是tcp握手,接下来就是http请求和数据了,访问的是新浪网站,浏览器为maxthon4。
分片很容易看出来的。比如1个UDP包超过MTU大小了。如果有分片而没有截获的话
注意截包的时候不要指定tcp,udp这类协议或者端口,因为分片包不包含这些。可以指定ip,然后自己看一下就知道是否有分片包了
- 上一篇:wzhs持权合变edj什么?
- 下一篇:xx听x是什么成语