工具说明:
Wireshark是一个GUI网络协议分析器。它允许您交互式地浏览来自活动网络或以前保存的捕获文件的数据包数据。Wireshark的本机捕获文件格式是pcap格式,这也是tcpdump和其他各种工具使用的格式。
Ascii码对照表
捕获过滤器
语法:
Protocol direction host(s) value logical operations other expression
Protocol(协议):用来指定协议。关键字可选参数:ether,fddi,ip,arp,rarp,decnet,lat,sca,moproc,mopdl,tcp和udp。默认使用所有支持的协议
Direction(方向):用来指定来源或目的地。关键字可选参数:src,dst,src and dst和src or dst,默认使用src or dst。
host(s):用来指定主机地址。关键字可选参数:net,and,host和portrange默认使用:host
logical operations(逻辑运算):用来指定逻辑运算符。关键字可选参数:not,and和or
临时使用填写:
捕获器填写位置:((中文版wireshark)需要在开始捕获数据前,点击左上角的齿轮标准,弹出如下框。在所选择接口的捕获过滤器,后面的方框中填写过滤信息,例:host 192.168.1.1)
注:当使用关键字作为值时,需要使用反斜杠\。例:ether proto \ip(与关键字ip相同),这样讲会以IP协议作为目标。也可以在ip后面使用multicast及broadcast关键字。当用户想排除广播请求时,可以使用no broadcast。
常用填写:
也可以直接使用已存在的过滤器。(选择菜单栏中的捕获,点击捕获出现下拉菜单,再选中捕获过滤器;点击一下,弹出一个已经写好的捕获过滤器的窗口,选择合适的;点击ok就可以开始捕获了。如果没有那可以在该窗口的左下角,点击+号进行添加,以备后用。)
显示过滤器:
语法:
Protocol string1 string2 comparison operator value logical operations other expression
Protocol(协议):用来指定协议。(osi模型2~7层的协议,可点击filter文本框后面的expression按钮查看所有可用的协议)
Sting1,string2(可选项):协议的子类。如下图(选中相关父类,点击一下,将显示出子类,点击子类,在search框下面就会出现相关写法)
(子类)
(写法)
comparison operator:指定比较运算符
logical operations:指定逻辑运算符
临时显示过滤器
填写过滤框:
过滤案例:
- ip过滤
显示来源ip:ip.src addr == 192.168.1.1
or ip.src addr eq 192.168.1.1
显示目标ip:ip.dst addr == 192.168.1.1
or ip.dst addr eq 192.168.1.1 - 端口过滤
显示来源端口或目标端口,tcp.port eq 80
只显示tcp协议的目标端口80,tcp.dstport == 80
只显示tcp协议的来源端口80,tcp.srcport == 80
过滤端口范围,tcp.port>=1 and tcp.port <=80 - 协议过滤
udp,arp,icmp,http,smtp,ftp,dns,msnms,ip,ssl等
排除ssl包,!ssl 或者 not ssl - 包长度过滤
udp.length == 26:表示udp本身固定长度8加上udp下面那块数据包之和。
tcp.len >=7:表示ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94:表示除了以太网头固定长度14,其他都是ip len,即从ip本身到最后
frame.len == 119:表示整个数据包长度,从eth开始到最后(eth->ip or arp ->tcp or udp ->data) - http模式过滤
http模式包括GET,POST和响应包
指定GET包:
http.request.method == “GET” && http contains “Host:”
http.request.method == “GET” && http contains “User-agent:”
指定POST包:
http.request.method == “POST” && http contains “Host:”
http.request.method == “POST” && http contains “User-agent:”
指定响应包:
http contains “HTTP/1.1 200 OK” && http contains “Content-Type:”
http contains “HTTP/1.0 200 OK” && http contains “Content-Type:” - 连接符and/or
指定显示tcp和udp协议数据包 - 表达式
指定源arp不等于192.168.1.1,并且目标不等于192.168.1.2:
!(arp.src192.168.1.1)and!(arp.dst.proto_ipv4192.168.1.2)
常用显示过滤器
点击菜单栏的analyze选项,选择Display
Filters,弹出一个跟捕获过滤器差不多的窗口,可选择已有的显示过滤器条目,也可自行添加。(操作和捕获过滤器相同,只是语法有些不同)
以上便是本期wireshark教程(一),下一期将继续发布wireshark教程(二)。