你可能需要查看基于一个或几个应用的数据流。抓包过滤器语法无法识别应用名,因此需要根据端口号来定义应用。通过目标应用的TCP或UDP端口号,将不相关的报文过滤掉。 · port 53:抓取发到/来自端口53的UDP/TCP数据流(典型是DNS数据流) · not port 53:抓取除了发到/来自端口53以外的UDP/TCP数据流 · port 80:抓取发到/来自端口80的UDP/TCP数据流(典型是HTTP数据流) · udp port 67:抓取发到/来自端口67的UDP数据流(典型是DHCP据流) · tcp port 21:抓取发到/来自端口21的TCP数据流(典型是FTP命令通道) · portrange 1-80:抓取发到/来自端口1-80的所有UDP/TCP数据流 · tcp portrange 1-80:抓取发到/来自端口1-80的所有TCP数据流
抓取结合端口的数据流:
当你需要抓取多个不连续端口号的数据流,将它们通过逻辑符号连接起来,如下图所示: · port 20 or port 21:抓取发到/来自端口20或21的UDP/TCP数据流(典型是FTP数据和命令端口) · host 10.3.1.1 and port 80:抓取发到/来自10.3.1.1端口80的数据流 · host 10.3.1.1 and not port 80:抓取发到/来自10.3.1.1除了端口80以外的数据流 · udp src port 68 and udp dst port 67:抓取从端口68到端口67的所有UDP数据流(典型是从DHCP客户端到DHCP服务器) · udp src port 67 and udp dst port 68:抓取从端口67到端口68的所有UDP数据流(典型是从DHCP服务器到DHCP客户端) · 抓取TCP连接的开始(SYN)和结束(FIN)报文,配置tcp[tcpflags] & (tcp-syn|tcp-fin)!=0 · 抓取所有RST(Reset)标志位为1的TCP报文,配置tcp[tcpflags] & (tcp-rst)!=0 · less <length>:抓取小于等于某一长度的报文,等同于len <=<length> · greater <length>:抓取大于等于某一长度的报文,等同于len >=<length>
· tcp[13] & 0x00 = 0: No flags set (null scan) · tcp[13] & 0x01 = 1: FIN set and ACK not set · tcp[13] & 0x03 = 3: SYN set and FIN set · tcp[13] & 0x05 = 5: RST set and FIN set · tcp[13] & 0x06 = 6: SYN set and RST set · tcp[13] & 0x08 = 8: PSH set and ACK not set tcp[13]是从协议头开始的偏移量,0,1,3,5,6,8是标识位。 image005.png