Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!!
wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。
Wireshark使用说明:
Protocol(协议):
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果没有特别指明是什么协议,则默认使用所有支持的协议。
Direction(方向):
可能的值: src, dst, src and dst, src or dst
如果没有特别指明来源或目的地,则默认使用 "src or dst" 作为关键字。
例如,"host 10.2.2.2"与"src or dst host 10.2.2.2"是一样的。
Host(s):
可能的值: net, port, host, portrange.
如果没有指定此值,则默认使用"host"关键字。
例如,"src 10.1.1.1"与"src host 10.1.1.1"相同。
Logical Operations(逻辑运算):
可能的值:not, and, or.
否("not")具有最高的优先级。或("or")和与("and")具有相同的优先级,运算时从左至右进行。
例如,
"not tcp port 3128 and tcp port 23"与"(not tcp port 3128) and tcp port 23"相同。
"not tcp port 3128 and tcp port 23"与"not (tcp port 3128 and tcp port 23)"不同。
例子:
基本格式:
[protocol] [src/dst] [host/port] ** and/or/not **
capture捉包:
tcp dst port 21 显示目的TCP端口为21的封包。
ip src host 192.168.30.242 显示来源IP地址为192.168.30.242 的封包。
host 192.168.30.242 显示目的或来源IP地址为192.168.30.242 的封包。
src portrange 2000-2500 显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。
not imcp 显示除了icmp以外的所有封包。(icmp通常被ping工具使用)
src host 10.7.2.12 and not dst net 192.168.30.0/24 显示来源IP地址为10.7.2.12,但目的地不是192.168.30.0/24的封包。
(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8
显示来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。
注意事项:
当使用关键字作为值时,需使用反斜杠“\”。
"ether proto \ip" (与关键字"ip"相同).
这样写将会以IP协议作为目标。
"ip proto \icmp" (与关键字"icmp"相同).
这样写将会以ping工具常用的icmp作为目标。
可以在"ip"或"ether"后面使用"multicast"及"broadcast"关键字。
当您想排除广播请求时,"no broadcast"就会非常有用。
另外不同的表示方式:
ip.addr == 192.168.30.242 显示目的或来源IP地址为192.168.30.242 的封包。
tcp.port eq 25 or icmp 显示tcp端口为25或imcp的包
tcp.dstport == 25 显示目的TCP端口号为25的封包。
tcp.port == 80 || udp.port == 80 显示tcp端口为25或udp端口是80的包
eth.addr == 00-1C-23-27-72-1E 显示mac地址是 00-1C-23-27-72-1E的包
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包。
http.request.uri matches "gl=se$" 匹配url中最后字符是gl=se的封包。
Wireshark是一个抓取网络数据包的工具,这对分析网络问题是很重要的,下文将会简单的介绍下如何使用Wireshark来抓包。
1、在如下链接下载“Wireshark”并在电脑上安装。Wireshark下载地址
(若链接失效,请在此页面下载:http://www.wireshark.org/download/win32/)
2、如果之前没有安装过“Winpcap”请在下面图上把安装“Winpcap”的勾选上。
3、打开安装好的Wireshark程序,会看到如下图所示界面:
图2 Wireshark主界面
4,上图2就是主界面,打开“Capture”->“Options”,界面如下:
图3 抓包选项
在最上面的Interface中选择电脑真实的网卡(默认下可能会选中回环网卡),选中网卡后,下面会显示网卡的IP地址,如图中是172.31.30.41,如果IP正确,说明网卡已经正确选择。
Capture Filter这一栏是抓包过滤,一般情况下可以不理会,留为空。
Display options就按照我们勾选的来做就行。好,点击Start。
图4 正在抓包
现在已经在抓包,抓包结束,后点击上图中红框的按钮停止抓包。这样我们就抓到了数据包。再打开“File”->“Save”,出现下面界面:
选择好保存路径和文件名(请不要中文)后,点击保存。这样我们就完成了一次抓包并保存,剩下的就是要去分析数据包中的内容以发现网络故障所在,这里我们就不一一介绍了。