一 wireshark简介
Wireshark是一款开源免费的网络分析产品,其支持UNIX、MacOS和windows等多种平台,2006年以前被称为Etheral,2006年后,改称为wireshark。wireshark是目前全世界使用最为广泛的网络分析产品。
二 wireshark相关资源
Wireshark主页:
http://www.wireshark.org/
Laura Chappell的关于wireshark的一系列视频教程:
http://www.wiresharktraining.com/index.html
一年一度的Sharkfest大会:
http://sharkfest.wireshark.org/
三 wireshark特色功能
1 多种数据报文件格式支持
由于wireshark应用的广泛性,各种主流的网络分析产品和工具,基本上都支持保存/打开wireshark的数据报文文件格式,而wireshark支持打开的报文文件的格式是非常之多,其现在支持打开的报文文件格式主要有:
libpcap, tcpdump and various other tools using tcpdump's capture format- Sun snoop and atmsnoop
- Shomiti/Finisar Surveyor captures
- Novell LANalyzer captures
- Microsoft Network Monitor captures
- AIX's iptrace captures
- Cinco Networks NetXray captures
- Network Associates Windows-based Sniffer and Sniffer Pro captures
- Network General/Network Associates DOS-based Sniffer (compressed or uncompressed) captures
- AG Group/WildPackets EtherPeek/TokenPeek/AiroPeek/EtherHelp/PacketGrabber captures
- RADCOM's WAN/LAN Analyzer captures
- Network Instruments Observer version 9 captures
- Lucent/Ascend router debug output
- HP-UX's nettl
- Toshiba's ISDN routers dump output
- ISDN4BSD i4btrace utility
- traces from the EyeSDN USB S0
- IPLog format from the Cisco Secure Intrusion Detection System
- pppd logs (pppdump format)
- the output from VMS's TCPIPtrace/TCPtrace/UCX$TRACE utilities
- the text output from the DBS Etherwatch VMS utility
- Visual Networks' Visual UpTime traffic capture
- the output from CoSine L2 debug
- the output from Accellent's 5Views LAN agents
- Endace Measurement Systems' ERF format captures
- Linux Bluez Bluetooth stack hcidump -w traces
- Catapult DCT2000 .out files
- Gammu generated text output from Nokia DCT3 phones in Network Monitor mode
- IBM Series (OS/400) Comm traces (ASCII & UNICODE)
- Juniper Netscreen snoop captures
- Symbian OS btsnoop captures
- Tamosoft CommView captures
- Textronix K12xx 32bit .rf5 format captures
- Textronix K12 text file format captures
- Wireshark .pcapng captures (Experimental)
下图展现的是wireshark能够打开其他报文文件格式类型:
Wireshark能够打开的其他报文文件格式类型截图
Wireshark支持保存的文件格式也比较多,目前主要有以下几种:
libpcap, tcpdump and various other tools using tcpdump's capture format (*.pcap,*.cap,*.dmp)//基于各种系统平台下的tcpdump报文格式 Accellent 5Views (*.5vw) HP-UX's nettl (*.TRC0,*.TRC1) Microsoft Network Monitor - NetMon (*.cap) Network Associates Sniffer - DOS (*.cap,*.enc,*.trc,*fdc,*.syc) Network Associates Sniffer - Windows (*.cap) Network Instruments Observer version 9 (*.bfr) Novell LANalyzer (*.tr1) Sun snoop (*.snoop,*.cap) Visual Networks Visual UpTime traffic (*.*) K12 text file (*.txt) TamoSoft Commview(*ncf) 下图所示为wireshark支持的保存的数据报文文件格式类型:
Wireshark能够保存为其他报文文件格式类型的截图
在实际的工作过程中,我们可以利用wireshark报文文件格式被广泛支持的特性,将wireshark作为各个网络分析工具间的文件格式转换工具。
举个例子,科来不支持打开Network Monitor的数据包文件格式,那么我们可以通过Network Monitor将数据报文导出保存为wireshark的报文文件格式,然后再利用科来网络分析系统打开,对通过Network Monitor捕获的数据报文进行分析。
2 强大的解码能力
由于其开源的特性,Wireshark能够支持的协议被全世界的技术大牛共同维护更新着,目前已经支持解码数千种协议。
我们在实际工作过程中,很可能会遇到一些平时不常见的协议报文或者遇到某些网络分析产品和工具无法识别解码的数据报文,此时,我们只需要将这些报文导出保存为wireshark的报文文件格式(*.pcap),使用wireshark打开,通过wireshark强大的协议报文解码能力来实现我们对数据报文的详尽、深入的分析。
3 TCP层面的专家系统
Wireshark的专家系统非常有特色,特别是TCP层面的专家系统,如下图所示: Wireshark的TCP专家系统截图
Wireshark在做TCP报文解码时,将很多非常有用的关联信息在专家系统里显示出来,包括对哪个报文的确认、是否重复确认、是第几个重复确认、是否有丢包、是否是重传报文、是对哪个报文的重传、是否是窗口更新报文、是否是TCP保活报文等等,有了这些TCP报文的相关信息,我们在分析定位基于TCP的应用故障时,将大大提高我们的分析效率! 4 颜色显示规则
Wireshark的颜色显示规则是wireshark的另一特色功能,颜色显示规则的设置通过view->coloring rules设置,如下图所示: Wireshark的coloring rules设置界面 我们可以根据自己的需要和喜好,将一些高度可疑的、危险的报文设置以显目的颜色显示出来。这样,就可以帮助我们在实际工作过程中从海量的数据报文中快速的找到我们需要优先关注分析的会话和报文,如下图所示: Wireshark的coloring rule让我们快速关注到RST、TTL超时等报文 5 远程捕包功能
在实际工作工程中,我们经常遇到需要在远端的主机上抓包的情况,我们以前常用的方式是,通过在远端主机上安装抓包工具,再通过远程桌面过去抓操作远端的主机进行抓包,但是这种方式给远端主机使用者带来诸多不便,而且还会产生不必要的远程桌面交互数据报文,wireshark在1.2版本之后开始支持原创捕包功能,我们现在可以利用wireshark的远程捕包功能很好的解决这个问题。
在windows平台下,我们在远端主机上安装winpcap程序,在winpcap目录下,运行rpcapd.exe,并对其进行简单的设置即可,一般我们要用到的三个参数:
-l 允许远端可以连接本机
-d 允许rpcapd服务以daemon的方式运行
-n wireshark在远程连接抓包时不需要经过用户名和密码的验证
在wireshark界面下,我们可以选择远端的网络接口,并填写远端主机IP和端口即可,默认端口为TCP 2002,如下图所示: Wireshark远端网卡抓包的设置界面截图 Linux平台需要安装libcap,具体如何操作实现,如果有兴趣的话,可以自行搜索。
四 Wireshark小结
Wireshark的诸多特性为我们的分析工作提供了非常大的帮助,虽然是英文界面,但是绝对不影响它成为从事网络分析技术工作必需熟练掌握的工具!
|