一 监听卡点:

 

 

Python防火墙连接问题 wireshark 防火墙_IP

 

 

 

 

1 服务器流量监控:主要利用在交换机上对连接服务器的端口做端口镜像,将流量重定向至wireshark主机上。

 

2 路由器流量监控:主要采用监控路由器连接交换机的LAN扣的进出流量。

3 防火墙流量监控:两种手段,一个是监控防火墙内口的流量、另外一个是监控防火墙外口的流量。由于NAT(局域网与广域网IP地址转换协议),内口监控可以观看到内网用户发起的所有Internet流量,源IP地址均为内网用户IP地址。外口监控能观看到所有经过防火墙放行的访问Internet流量,源IP地址均为外网IP,因为内网IP被NAT转换成了外网IP。

 

二 开始抓包

 

1 抓包网卡

Python防火墙连接问题 wireshark 防火墙_IP_02

 

 

 

 

2 捕获选项

 

Python防火墙连接问题 wireshark 防火墙_Wireshark_03

 

 

 

2.1 捕获“输出”选项卡

 

Python防火墙连接问题 wireshark 防火墙_IP_04

 

 

 

 

 

2.2 捕获“选项”选项卡

 

Python防火墙连接问题 wireshark 防火墙_IP_05

 

 

 

三 抓包过滤器

过滤器分为“抓包过滤器”与“显示过滤器”,前者只会抓取匹配规则的数据包,而后者数据已经全部抓取,只是在显示的时候,显示匹配规则的数据包。

 

配置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数据包。