前沿拓展:
wireshark是什么
报文号是网络交换传输的数据编号,从wireshark用tcpdump抓包就可以直接获取报文号并分析报文内容。
报文是网络中交换与传输的数据单元。报能显示出最为详细的网络封包资料。Wireshark使用Wi**AP作生针与局天失为接口,直接与网卡进行数据报文交换。
在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的途径取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。
我们这个信息化时代,每天都不知不觉的会给不知道哪些软件**偷偷的说一些悄悄话,特别是我们程序猿,在开发过程中更是,偶尔会遇到不知道TCP交互过程中到底传递或者接受了哪些信息,给我们的Debug蒙上了一层神秘的面纱,这时候,我们需要一些抓包工具帮助我们轻松Debug。一般的请求可以借助浏览器自带的NetWork抓包工具,移动端一些网页的话可以借助腾讯开源的vConsole,再高端一点就是借助Fiddler来抓取http或者https请求。但是有时候这样也满足不了我们的需要,那么就再祭出Wireshark神器来抓取tcp和udp请求。
浏览器自带的抓包工具
一些主流浏览器都自带有Network抓包工具,只需F12即可唤出,非常方便,我这里只演示了 Chrome浏览器的抓包过程。
Fiddler简单**作
Fiddler是一款httphttps协议**调试工具,它能够获取请求之间的数据和状态,设置断点,以及修改数据。第一去Fiddler网站下载并手动安装。
安装成功后打开Fiddler,界面如下:
默认情况下,它是抓取我们所有的请求。我们需要对Fiddler进行过滤设置。假如我们只想抓取www.cnblogs.com的请求,我们需要这样处理:
,最后我们可以得到这样的效果:
,还可以指定客户端的进程:
进程方式除了刚才在Filters中设置外,还可以使用拖动方式,
下面,我们来试试抓取手机端的请求,在抓取手机端请求前,请确保手机和电脑在同一个局域网中,第二进入对Fiddler进行如下设置:
,由于我在PC端映射了一个wifi供手机连接,故我手机**设置如下:
假如我们抓取美团App的请求,现在打开App即可看到:
这里只是一个简单的示例介绍,更多高深技巧请自行探索。
Wireshark简单**作
第一Wireshark下载,
安装完成后打开
可以看到我们本地有很多网卡驱动,我们怎么知道现在网络是哪个网卡呢?有两个方式,一个是查看本地连接,另外一个就是看界面的网络流量。
可以看到Wireshark开始为我们抓包,由于Wireshark为我们抓取了TCP和HTTP,会有很多无用的信息导致我们无从下手,这时候可以使用Wireshark的过滤规则:
,在过滤栏输入关键字就会有相应的智能提示。 在Wireshark抓包中有多层信息:
Frame 15788: 79 bytes on wire (632 bits), 79 bytes captured (632 bits) on interface DeviceNPF_{69B14E8C-A0A5-4064-9CF7-EB4651D24A99}, id 0:物理层的数据帧概况。Ethernet II, Src: HuaweiTe_22:5a:c6 (fc:48:ef:22:5a:c6), Dst: WistronI_fd:67:50 (54:ee:75:fd:67:50):数据链路层以太网帧头部信息。Internet Protocol Version 4, Src: 10.101.11.97, Dst: 10.101.27.241:互联网层IP包头部信息,源地址和目的地址。Tran**ission Control Protocol, Src Port: 80, Dst Port: 50773, Seq: 2606, Ack: 3560, Len: 25:传输层的数据段头部信息,TCP协议层信息。Hypertext Transfer Protocol:应用层的信息,此处是HTTPHTTPS协议会现在该项。Wireshark常用过滤条件:地址过滤。ip.dst==xxx.xx.xxx.xxx 过滤目的地址为xxx.xx.xxx.xxx,ip.src==xxx.xx.xxx.xxx 过滤原地址地址为xxx.xx.xxx.xxx,ip.dst==xxx.xx.xxx.xxx && ip.src==xxx.xx.xxx.xxx 过滤源地址为xxx.xx.xxx.xxx且目的地址xxx.xx.xxx.xxx协议过滤。直接在过滤栏输入协议即可 tcp、udp、arp、http、ftp、ssl、**tp、dns、ip、ardp端口过滤。在过滤栏输入tcp.port==端口号(目的端口和源端口)或者 tcp.dstport==端口号(目的端口),tcp.srcport==端口号(源端口)HTTP过滤。这个就比较多了,暂时详述:
通过Wireshark可以很方便的分析TCP的三次握手和四次挥手的过程,有助于我们更加直观的理解TCP协议。
好了,暂时先告一段落吧,这里只是简单是写了软件的基本使用,如果要抓取HTTP和HTTPS协议的数据的话,个人建议使用Fiddler。其他更加高级的应用在后面再分享吧,另外还有一款强大的抓包工具Charles,只不过它是收费的。
拓展知识:
原创文章,作者:九贤生活小编,如若转载,请注明出处:http://www.wangguangwei.com/45761.html