一 监听卡点:
1 服务器流量监控:主要利用在交换机上对连接服务器的端口做端口镜像,将流量重定向至wireshark主机上。
2 路由器流量监控:主要采用监控路由器连接交换机的LAN扣的进出流量。
3 防火墙流量监控:两种手段,一个是监控防火墙内口的流量、另外一个是监控防火墙外口的流量。由于NAT(局域网与广域网IP地址转换协议),内口监控可以观看到内网用户发起的所有Internet流量,源IP地址均为内网用户IP地址。外口监控能观看到所有经过防火墙放行的访问Internet流量,源IP地址均为外网IP,因为内网IP被NAT转换成了外网IP。
二 开始抓包
1 抓包网卡
2 捕获选项
2.1 捕获“输出”选项卡
2.2 捕获“选项”选项卡
三 抓包过滤器
过滤器分为“抓包过滤器”与“显示过滤器”,前者只会抓取匹配规则的数据包,而后者数据已经全部抓取,只是在显示的时候,显示匹配规则的数据包。
配置Ethernet过滤器
Ethernet过滤器指的是二层过滤器,即根据MAC地址来进行进行过滤功能的抓包过滤器。
ether host <Ethernet host>
抓取源于或发往某一具体MAC地址的流量,抓取源于或发往某一具体MAC地址的流量。
ether dst <Ethernet host>
抓取发往某一具体MAC地址的流量,如此配置:ether dst 00:24:d6:ab:98:b6。
ether src <Ethernet host>
抓取源于某一具体MAC地址的流量,如此配置:ether src 00:24:d6:ab:98:b6。
ether broadcast
抓取以太网广播流量,如此配置:ether broadcast或ether dst ff:ff:ff:ff:ff:ff。
ether multicast
抓取以太网多播流量,如此配置:ether multicast。
ether proto <protocol>
抓取特定以太网类型的流量(以太网类型代码值用十六进制数表示),如此配置:ether proto 0800。
vlan <vlan_id>
只抓取由标识符<vlan_id>所指定的VLAN的流量。
Not或!
表示取反,舍弃源自或发往由标识符Ethernet host所指定的以太网主机的以太网流量格式如Not ether host <Ethernet host> 或 ! Ether host <Ethernet host>
配置主机和网络过滤器
所谓主机和网络过滤器,是指基于IP地址的第三层过滤器。
ip或ipv6
让Wireshark只抓取IPv4或IPv6流量
host <host>
让Wireshark只抓取源于或发往由标识符host所指定的主机名或IP地址的IP流量。
要让Wireshark只抓取源于或发往主机10.10.10.1的所有流量,抓包过滤器应如此配置:host 10.10.10.1。
要让Wireshark只抓取源于或发往主机www.epubit.com的所有流量,抓包过滤器应如此配置:host www.epubit.com。
dst host <host>
让Wireshark只抓取发往由标识符host所指定的主机名或IP地址的IP流量。
要让Wireshark只抓取发往主机10.10.10.1的所有流量(即目的IP地址为10.10.10.1的数据包),抓包过滤器应如此配置:dest host 10.10.10.1。
src host <host>
让Wireshark只抓取源于由标识符host所指定的主机名或IP地址的IP流量。
要让Wireshark只抓取源自主机10.10.10.1的所有流量(即源IP地址为10.10.10.1的数据包),抓包过滤器应如此配置:src host 10.10.10.1。
net <net>
让Wireshark只抓取源于或发往由标识符net所标识的IPv4/IPv6网络号的流量。
要让Wireshark只抓取源于或发往IP网络192.168.1.0/24的所有流量,抓包过滤器应如此配置:net 192.168.1或net 192.168.1.0 mask 255.255.255.0 或net 192.168.1.0/24。
dst net <net>
让Wireshark只抓取发往由标识符net所标识的IPv4/IPv6网络号的流量。
src net <net>
让Wireshark只抓取源于由标识符net所标识的IPv4/IPv6网络号的流量。
net <net> mask <netmask>
让Wireshark只抓取源于或发往由标识符net和mask共同指明的IPv4网络号的流量(对IPv6流量无效)
dst net <net> mask <netmask>
让Wireshark只抓取发往由标识符net和mask共同指明的IPv4网络号的流量(对IPv6流量无效)。
src net <net> mask <netmask>
让Wireshark只抓取源于由标识符net和mask共同指明的IPv4网络号的流量(对IPv6流量无效)。
net <net>/<len>
让Wireshark只抓取源于或发往由标识符net指明的IPv4网络号的流量。
dst net <net>/<len>
让Wireshark只抓取发往由标识符net指明的IPv4网络号的流量。
src net <net>/<len>
让Wireshark只抓取源于由标识符net指明的IPv4网络号的流量。
broadcast
让Wireshark只抓取IP广播包。
multicast
让Wireshark只抓取IP多播包。
ip proto <protocol code>
让Wireshark只抓取IP包头的协议类型字段值等于特定值(等于由标识符proto所指明的protocol code[协议代码]值)的数据包。IP数据包的种类繁多,随IP包头的协议类型字段值而异,比如,TCP数据包(协议类型字段值为6)、UDP数据包(协议类型字段值为17)和ICMP数据包(协议类型字段值等于1)等。
要让Wireshark只抓取ICMP流量,抓包过滤器应如此配置:ip proto 1。
ip6 proto <protocol>
让Wireshark只抓取IPv6主包头中下一个包头字段值等于特定值(等于由标识符proto所指明的protocol值)的IPv6数据包。请注意,无法使用该原词根据IPv6扩展包头链中的相关字段值来执行过滤。
icmp[icmptype]==<identifier>
让Wireshark只抓取特定类型[icmptype]的ICMP数据包。<identifier>表示的是ICMP头部中的类型字段值,比如,0(ICMP echo reply数据包)或8(ICMP echo request数据包)等。
要让Wireshark只抓取ICMP echo request流量,抓包过滤器应如此配置:icmp[icmptype]==icmp-echo或icmp[icmptype]==8。在以上两个过滤器中,icmp-echo和8分别表示ICMP echo request数据包的名称和类型(即ICMP数据包的ICMP头部中的类型字段值和与之对应的名称)。
配置TCP/UDP端口过滤器
根据第4层协议TCP/UDP的端口号来实现过滤
port <port>
源或目的端口号将匹配标识符port所指明的端口号。
只抓源或目的端口号为5060的数据包(SIP流量),抓包过滤器应如此配置:port 5060。
dst port <port>
目的端口号将匹配标识符port所指明的端口号。
只抓目的端口号为80的数据包(HTTP流量),抓包过滤器应如此配置:dst port 80或dst port http。
src port <port>
源端口号将匹配标识符port所指明的端口号。
tcp portrange <p1>-<p2>或udp portrange <p1>-<p2>
源或目的端口范围介于p1和p2之间的TCP或UDP数据包
tcp src portrange <p1>-<p2>或udp src portrange <p1>-<p2>
用来抓取源端口范围介于p1和p2之间的TCP或UDP数据包。
tcp dst portrange <p1>-<p2>或udp src portrange <p1>-<p2>
用来抓取目的端口范围介于p1和p2之间的TCP或UDP数据包。
tcp-urg
用来抓取紧急指针标记位置1的TCP数据包。
tcp-rst
用来抓取RESET标记位置1的TCP数据包。
tcp-ack
用来抓取ACK标记位置1的TCP数据包。
tcp-syn
用来抓取SYN标记位置1的TCP数据包。
只抓所有用来发起(SYN标记位置1)TCP连接的数据包,抓包过滤器应如此配置:tcp-syn!=0。
tcp-psh
用来抓取PUSH标记位置1的TCP数据包。
tcp-fin
用来抓取FIN位置1的TCP数据包。