介绍Wireshark是世界上最流行的网络分析工具 。这个强大的工具可以捕捉网络中的数据 , 并为用户提供关于网络和上层协议的各种信息 。与很多其他网络工具一样 , Wireshark也使用pcap network library来进行封包捕捉 。可破解局域网内QQ、邮箱、msn、账号等的密码 。
使用抓取报文
下载和安装好Wireshark之后 , 启动Wireshark并且在接口列表中选择接口名 , 然后开始在此接口上抓包 。
例如 , 如果想要在无线网络上抓取流量 , 点击无线接口 。点击Capture Options可以配置高级属 。此处选择本地连接 。
文章插图
点击接口名称之后 , 就可以看到实时接收的报文 。Wireshark会捕捉系统发送和接收的每一个报文 。如果抓取的接口是无线并且选项选取的是混合模式 , 那么也会看到网络上其他报文 。
上端面板每一行对应一个网络报文 , 默认显示报文接收时间(相对开始抓取的时间点) , 源和目标IP地址 , 使用协议和报文相关信息 。点击某一行可以在下面两个窗口看到更多信息 。“+”图标显示报文里面每一层的详细信息 。底端窗口同时以十六进制和ASCII码的方式列出报文内容 。
文章插图
需要停止抓取报文的时候 , 点击左上角的停止按键 。
文章插图
色彩标识
进行到这里已经看到报文以绿色 , 蓝色 , 黑色显示出来 。Wireshark通过颜色让各种流量的报文一目了然 。比如:
- 默认绿色是TCP报文
- 深蓝色是DNS
- 浅蓝是UDP
- 黑色标识出有问题的TCP报文——比如乱序报文 。
比如说你在家安装了Wireshark , 但家用LAN环境下没有感兴趣的报文可供观察 , 那么可以去Wireshark wiki下载报文样本文件 。
打开一个抓取文件相当简单 , 在主界面上点击Open并浏览文件即可 。也可以在Wireshark里保存自己的抓包文件并稍后打开 。
过滤报文:
如果正在尝试分析问题 , 比如打电话的时候某一程序发送的报文 , 可以关闭所有其他使用网络的应用来减少流量 。但还是可能有大批报文需要筛选 , 这时要用到Wireshark过滤器 。最基本的方式就是在窗口顶端过滤栏输入并点击Apply(或按下回车) 。例如 , 输入“dns”就会只看到DNS报文 。输入的时候 , Wireshark会帮助自动完成过滤条件 。
文章插图
也可以点击Analyze菜单并选择Display Filters来创建新的过滤条件 。
文章插图
另一件很有趣的事情是你可以右键报文并选择Follow TCP Stream 。
文章插图
你会看到在服务器和目标端之间的全部会话 。
文章插图
关闭窗口之后 , 你会发现过滤条件自动被引用了——Wireshark显示构成会话的报文 。
文章插图
检查报文:
选中一个报文之后 , 就可以深入挖掘它的内容了 。
也可以在这里创建过滤条件——只需右键细节并使用Apply as Filter子菜单 , 就可以根据此细节创建过滤条件 。
文章插图
Wireshark是一个非常之强大的工具 , 第一节只介绍它的最基本用法 。网络专家用它来debug网络协议实现细节 , 检查安全问题 , 网络协议内部构件等等 。
观察基本网络协议TCP:
TCP/IP通过三次握手建立一个连接 。这一过程中的三种报文是:
- SYN
- SYN/ACK
- ACK 。
如果你找不到第一个SYN报文 , 选择Edit -> Find Packet菜单选项 。选择Display Filter , 输入过滤条件:tcp.flags , 这时会看到一个flag列表用于选择 。选择合适的flag , tcp.flags.syn并且加上==1 。点击Find , 之后trace中的第一个SYN报文就会高亮出来了 。
推荐阅读
- 简单了解十大真实算法的特点
- 前端三大框架之React前世今生
- 深入搜索引擎原理
- Python爬虫之模拟知乎登录
- php输出之echo和print语句
- 明日之子第5季 明日之子第五季什么时候开播
- 中国茶文化之,茶道篇
- 地下城与勇士|DNF:职业转换之间的不同改变点,转职书使用应该这样考虑
- 喝醉了之后吃什么解酒最快
- 云南滇红的品质