[关闭]
@WillireamAngel 2017-10-28T16:16:29.000000Z 字数 2880 阅读 1134

Wreshark网络分析指南

网络


一、Wireshark简介

  1. 需求:同一网络交换机下的端口监控(端口镜像、SPAN):同一VLAN流量(可能出现重复数据包)、“多源合一”流量监控、方向选择
    原理:WinPcap、Libcap、AirPacP
    系统时间:NTP(时间服务器)
    流量监控:TAP(分路器)、HUB(一般不用)

二、抓包过滤器

BPF只会对输入capture filter文本框的字符串语法进行检查,不会对内容及进行检查。
限定符:type(指代事务,host、net、port限定符)、dir(数据包流动方向,src、dst)、Proto(数据包所匹配的协议类型,ether、ip、arp)
抓包过滤器配置文件储存位置:Wireshark\cfilters
程序源于:tcpdump
1. 配置Ethernet:

  1. ether host <Ethernet host=MAC地址>
  2. ether dst <Ethernet host>
  3. ether src <Ethernet host>
  4. ether broadcastether dst ff:ff:ff:ff:ff:ff
  5. (第二层以太网帧目的MAC地址就是以太网广播地址)
  6. ether multicast
  7. ether ptoto <protocol>
  8. vlan <vlan_id> and vlan <vlan_id>...

not or !:字符串反义
以太网多播帧典型MAC地址:
IPv4:01:00:5e......
IPv6:33:33......
2. 配置主机和网络过滤器

  1. ip or ipv6
  2. host <host> #ip or URL
  3. dst host <host>
  4. gateway <host>
  5. net <net> #net 192.168.1.0/24=net 192.168.1=net 192.168.1.0 mask 255.255.255.0
  6. dst net <net>
  7. scr net <net>
  8. net <net> mask <netmask>
  9. dst net <net> mask <netmask>
  10. scr net <net> mask <netmask>
  11. net <net>/<len>
  12. dst net <net>/<len>
  13. scr net <net>/<len>
  14. broadcast
  15. multicast
  16. ip proto <protocol code>
  17. ip6 proto <protocol>
  18. icmp[icmptype]==<identifier> #ICMP头部字段
  19. ip multicast #IP多播数据包
  20. ip broadcast #IP广播数据包
  21. ip [2:2] == <number> #特定长度的IP数据包
  22. ip [8] == <number> #特定TTL的IP数据包
  23. ip [9] == <number> #特定协议类型的数据包
  24. ip [12:4] ==1 ip[16:4] #数据包源和目的IP相同,其中16指的是从TCP头部的16个字节开始检查,4指的是检查范围为4个字节
  1. 配置TCP/UDP及端口过滤器
  1. port <port>
  2. tcp/udp portrange <p1>-<p2>

TCP头部标记位:SYN(打开连接) FIN(关闭连接) ACK(确认数据包) RST(立刻拆除连接) PSH(数据提交给末端进程处理)
4. 配置复合型过滤器
操作符:

  1. ! or not
  2. && and
  3. || or
  1. 配置字节偏移和净载匹配型过滤器
  1. proto [Offset: bytes]
  2. ip [Offset: bytes]
  3. tcp [Offset: bytes] or udp [Offset: bytes]

三、显示过滤器的用法

  1. expression按钮,手动筛选过滤器,直接输入filter,含自动补全机制;
  2. 常见第二层(Etnernet地址和帧)和第三层(IP地址和数据包)过滤器:
地址格式 语法
MAC地址 eth.addr == xx:xx:xx:xx:xx:xx/xx-xx-xx-xx-xx-xx/xxxx.xxxx.xxxx.xxxx
以太网广播地址 Etn.addr == ffff.ffff.ffff
IPv4主机地址 ip.addr == x.x.x.x
IPv4网络地址 ip.addr == x.x.x.x/y(0~32)
IPv6主机地址 ipv6.addr == x:x:x:x:x:x:x:x/x::x:x:x:x
IPv6网络地址 ipv6.addr == x::/y(0~128)

3. ARP过滤器:

  1. arp.opcode == 1 #ARP请求帧
  2. arp.opcode == 2 #ARP应答帧
  1. TCP过滤器
    tcp.analysis:分析与TCP重传、重复确认、窗口大小有关的网络性能问题的参照物;
    tcp.flags:检查TCP头部中各标记位的置位情况;
    tcp.window_size_value < <value>:显示TCP头部中窗口大小字段值低于指定值的数据包。
  2. HTTP显示过滤器
  1. http.host == <"hostname">
  2. http.request.method == "GET"
  3. http.request.uri == <"Full request URI">
  4. http.request.uri contains "mail.google.com"
  5. http.cookie
  6. http.set_cookie
  7. (http.set_cookie && http contains "google")
  8. http matches "\.zip" && http.request.method == "GET"
  1. DNS显示过滤器
  1. dns.flags.response == 0 #DNS查询
  2. dns.flags.response == 1 #DNS响应
  1. FTP过滤显示器
  1. ftp.request.command == <"requestedcommand">

四、基本信息统计工具的用法(Statistics)

  1. Summary工具
    文件名称、路径、抓包具体时间、OS版本、抓包网卡信息、包数据及网络中平均过往数据包个数及大小。
  2. Protocol Hierarchy
    数据包归属协议分布情况。
    End packet:纯协议类型数据包
  3. Conversation
    Ethernet:MAC二层:可以判断网卡信息,前面厂商、后面地址;
    IPv4:三层,扫描网络暴露;
    TCP/UDP标签:四层:10~20连接属于正常范围,TCP连接数过百则出现故障;
    注:如果出现内网大量数据包访问同一个特定IP的80端口,需要浏览器尝试访问,或者在http://who.is/查询
  4. HTTP工具
    packet counter:HTTP数据包总数,请求数据包和响应数据包;
    requests:web站点分布情况以及访问资源情况;
    过滤表达式:
  1. http.host contains <host_name>

or

  1. http.host==<host_name>

e.g.

  1. http.host==ce.sysu.edu.cn

load distribution:HTTP数据包在各web站点件的分布情况。
注:在访问web站点时,浏览器会发送多次HTTP请求,借助若干URL,从多个位置下载资源。
5. Flow Graph
数据流图,可采用Cascade Pilot软件实现。
6. IP属性统计信息
IP Address、IP Destination、IP Protocols Types

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注