tcpdump:tcpdump使用手册

作者: 李佶澳   转载请保留:原文地址   发布时间:2017/04/01 10:39:05

过滤语法

主机(IP)过滤

host   192.168.1.2
src host  192.168.1.2
dst host  192.168.1.3

端口(PORT)过滤

port  80
src port  80
dst port  89

网段(NET)过滤

net 192.168
src net 192.168.1
dst net 10.10

协议(PROTO)过滤

arp
ip
tcp
udp
icmp

逻辑表达式

非:

!
not

且:

&&
and

或:

||
or

规则组合:

支持用英文括号将规则组合起来
tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'

应用

一些比较有意思的应用。

抓取SYN

tcpdump -i eth1 'tcp[tcpflags] = tcp-syn'

抓取SYN&ACK

tcpdump -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'

抓取SMTP

tcpdump -i eth1 '((port 25) and (tcp[(tcp[12]>>2):4] = 0x4d41494c))'

TCP的Payload开始字符为”MAIL”,0x4d41494c是”MAIL”的16进制表示。

“0x4d41494c” -> “MAIL”

抓取HTTP GET

tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420'

“0x47455420” -> “GET”

抓取SSH返回

tcpdump eth1 'tcp[(tcp[12]>>2):4] = 0x5353482D'"

“0x5353482D” -> “SSH-“

参考

  1. tcpdump非常实用的抓包实例
  2. tcpdump link-layer types

欢迎加微信,最好备注姓名和方向

QQ交流群

区块链实践互助QQ群:576555864

Kubernetes实践互助QQ群:947371129

Prometheus实践互助QQ群:952461804

API网关Kong实践互助QQ群:952503851

Ansible实践互助QQ群:955105412

Copyright @2011-2018 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: lijiaocn@foxmail.com,备注网站合作 友情链接: lijiaocn github.com