wireshark中文版是一个网络封包分析软件。wireshark中文版的功能是撷取网络封包, 并尽可能显示出最为详细的网络封包资料。是目前全世界最广泛的网络封包分析软件之一。
包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。
TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,帧工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”里的。
基本简介
Wireshark是一款非常棒的Unix和Windows上的开源网络协议分析器。它可以实时检测网络通讯数据,也可以检测其抓取的网络通讯数据快照文件。可以通过图形界面浏览这些数据,可以查看网络通讯数据包中每一层的详细内容。
功能特色
Wireshark拥有许多强大的特性:
包含有强显示过滤器语言(rich display filter language)和查看TCP会话重构流的能力;
它更支持上百种协议和媒体类型:
拥有一个类似tcpdump(一个Linux下的网络协议分析工具)的名为tethereal的的命令行版本。
在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。
Ethereal的出现改变了这一切。
在GNU GPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其程式码,并拥有针对其原始码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。
更新日志:
1.修复了bug
2.完善了用户体验
3.增加了界面美化度
4.修复了兼容性
5.增加了稳定性
如何分析数据包判断网络故障?
从网络抓包是可以分析出很多东西,其中一项就是用来做排错。
根据个人的实际经验,用抓包来排错有分为几种情况:
1、通过数据包的有无来判断故障,一般用于防火墙策略调试等场景,在防火墙上进行抓包,或交换机上镜像抓包,或者这交换机内嵌抓包功能。这种抓包无需进行过多分析。
2、网络故障,已经明确网络设备配置不存在问题的情况下,通过抓包来判断问题,我把这主要分为行为判断和协议判断。
1)最常见的是通过抓包数量来判定网络行为的是否正常,比如ARP病毒爆发一定会收到大量ARP数据包;攻击行为也很多时候体现为大量数据包(但是一般判断这种攻击行为抓包不会放在第一步,只是在确定攻击特征时需要抓包);当然还有其他很多情况,适用于通过抓包数量来分析的。
2)通信质量判断,抓包存在大量的重传,此时通信质量一般都不太好。另外有视频和语音的应用场景中,有时需要通过时间统计来判断通信毛刺,来分析定位视频和语音通信质量问题。
3)协议判断,比如win2008和win2003通信时因为window
scale不兼容,导致窗口过小,而程序设计适当时,通信变动极其缓慢。这些判断都是建立在抓包协议分析的基础上的;另外不同厂商SIP通信对接也有可能会用到协议分析,其中一种方式就是抓包分析。
综合而言,协议分析时要求比较高,很多人都可以说把基础学好,但是对应实际工作多年的人,TCP/IP的协议学习一般都是多年前的事情,而且不同操作系统,对于协议栈的实现是有区别的,这部分析的工作一般都是出现问题后有针对性查资料来解决的。
说了这么多,针对抓包分析我个人的意见是:排查问题关键是思路,真的用到协议层判断的场景相对而言还是比较少,初学这不必过分纠结。但是从另外一个方面来看,能深入协议层进行排错的网工,都是具备钻研精神的,属于高级排错的一部分。