wireshark使用

一、捕捉过滤器(CaptureFilters)

捕捉过滤器 是用于设置一个相对宽泛的抓取规则来尽可能多的抓取到目标分析数据包

用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。

会直接抓取网卡的数据包

最后在提供给显示过滤器进行规则匹配做更加精确的过滤最终显示到窗口

  • 抓包过滤器类型Type(host、net、port)
  • 方向Dir(src、dst)
  • 协议Proto(ether、ip、tcp、udp、http、icmp、ftp等)
  • 逻辑运算符(&& 与、|| 或、!非)

(1)过滤协议

比较简单,直接在抓包过滤框中直接输入协议名即可。

# 只显示TCP协议的数据包列表
tcp
# 只查看HTTP协议的数据包列表
http
# 只显示ICMP协议的数据包列表
icmp

(2)过滤IP

# 抓取与 192.168.8.137 "有关的" 数据包
host 192.168.8.137

# 抓取 “来自” 192.168.1.104 的数据包
src host 192.168.8.137

# 抓取 “流向” 192.168.1.104 的数据包
dst host 192.168.8.137

(3)过滤端口

# 抓取与 80 端口 "有关的" 数据包
port 80

# 抓取 "来自" 80 端口的数据包
src port 80

# 抓取 "流向" 80 端口的数据包
dst port 80

(4)逻辑运算符

  • &&(与)
  • ||(或)
  • !(非)
# 抓取主机地址为 192.168.8.137  目的端口为80的数据包
src host 192.168.8.137 && dst port 80

# 抓取主机为 192.168.8.137 或者 192.168.8.139 的数据包
host 192.168.8.137 || host 192.168.8.139

# 不抓取广播数据包
!broadcast

扩展说明

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)”不同。

例子:

tcp dst port 3128 //捕捉目的TCP端口为3128的封包。

ip src host 10.1.1.1 //捕捉来源IP地址为10.1.1.1的封包

host 10.1.2.3 //捕捉目的或来源IP地址为10.1.2.3的封包

ether host e0-05-c5-44-b1-3c //捕捉目的或来源MAC地址为e0-05-c5-44-b1-3c的封包。如果你想抓本机与所有外网通讯的数据包时,可以将这里的mac地址换成路由的mac地址即可。

src portrange 2000-2500 //捕捉来源为UDP或TCP,并且端口号在2000至2500范围内的封包。

not imcp //显示除了icmp以外的所有封包。(icmp通常被ping工具使用)

src host 10.7.2.12 and not dst net 10.200.0.0/16 //显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。

(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内的所有封包。

src net 192.168.0.0/24

src net 192.168.0.0 mask 255.255.255.0 //捕捉源地址为192.168.0.0网络内的所有封包

二、显示过滤器(DisplayFilters)

显示过滤器 是用于在抓取数据包后设置过滤条件进行过滤数据包。

在捕捉结果中进行详细查找。可以在得到捕捉结果后随意修改。

通常是在抓取数据包时设置条件相对宽泛或者没有设置导致抓取的数据包内容较多时使用显示过滤器设置条件过滤以方便分析。

(1)比较操作符

  • ==(等于)
  • !=(不等于)
  • >(大于)
  • <(小于)
  • >=(大于等于)
  • <=(大于等于)

(2)过滤协议

比较简单,直接在Filter框中直接输入协议名即可。注意:协议名称需要输入小写。

# 只显示TCP协议的数据包列表
tcp
# 只查看HTTP协议的数据包列表
http
# 只显示ICMP协议的数据包列表
icmp

(3) 过滤IP

# 显示源地址为 192.168.8.137 的数据包列表
ip.src == 192.168.8.137

# 显示目标地址为 192.168.8.137 的数据包列表
ip.dst == 192.168.8.137

# 显示IP地址与 192.168.8.137 有关的数据包列表
ip.addr == 192.168.8.137

(4)过滤端口

# 显示与 80 端口 有关的 数据包列表。
tcp.port == 80
# 只显示TCP协议的源主机端口为80的数据包列表。
tcp.srcport == 80
# 只显示TCP协议的目的主机端口为80的数据包列表。
tcp.dstport == 80

(5)过滤HTTP方法

# 只显示HTTP GET方法
http.request.method=="GET"

(6)逻辑运算符

过滤多个条件组合时,使用 and/or/not

如获取  IP  地址为  192.168.8.137  的  ICMP  数据包表达式为
ip.addr == 192.168.8.137 and icmp

(7)过滤数据包内容

假设我要以IMCP层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。如下

img

img

img

后面条件表达式就需要自己填写。如下我想过滤出data数据包中包含"abcd"内容的数据流。包含的关键词是contains 后面跟上内容。

img

(8)案例

snmp || dns || icmp //显示SNMP或DNS或ICMP封包。

ip.addr == 10.1.1.1 //显示来源或目的IP地址为10.1.1.1的封包

ip.src != 10.1.2.3 or ip.dst != 10.4.5.6 //显示来源不为10.1.2.3或者目的不为10.4.5.6的封包

换句话说,显示的封包将会为:

来源IP:除了10.1.2.3以外任意;目的IP:任意

以及

来源IP:任意;目的IP:除了10.4.5.6以外任意

ip.src != 10.1.2.3 and ip.dst != 10.4.5.6 //显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包

换句话说,显示的封包将会为:

来源IP:除了10.1.2.3以外任意;同时须满足,目的IP:除了10.4.5.6以外任意

tcp.port == 25 //显示来源或目的TCP端口号为25的封包。

tcp.dstport == 25 //显示目的TCP端口号为25的封包。

tcp.flags //显示包含TCP标志的封包。

tcp.flags.syn == 0×02 //显示包含TCP SYN标志的封包。

如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。

三、文章

wireshark配合服务器抓包工具tcpdump使用

wireshark 抓不到任何一个包,抓包一直为空(设置管理员模式启动即可)

wireshark抓包使用

网络抓包wireshark

传输层安全(TLS)

posted @ 2022-05-17 00:18  黄河大道东  阅读(25)  评论(0编辑  收藏  举报