tcpdump基本使用

选项

  • -i any 监听所有的网卡接口、用来查看是否有网络流量
  • -i eth0 只监听eth0网卡流量
  • -D 显示可用的接口列表
  • -n 不解析主机名、直接使用ip
  • -nn 显示端口
  • -q 显示简化输出
  • -t 显示可读的时间戳
  • -XhexASCII两种形式显示包内容
  • -v -vv -vvv 显示更加多的包信息
  • -XX-X 类似、增加以太网header的显示
  • -c 只读取x个包, 然后停止
  • -s 指定每个包捕获的长度、单位是 byte, 可以使用 -s0 捕获整个包
  • -S 输出绝对的序列号
  • -e 获取以太网 header
  • -w 将捕获的数据包信息写入文件
  • -r 加载之前保存的文件

表达式
tcpdump中可以使用表达式过滤指定类型的流量:

  • 类型type选项包含:host net port
  • 方向dir包含:src dst
  • 协议proto选项包含:tcp udp ah

示例

捕获所有流量
tcpdump -i any

指定网卡接口、查看指定网卡发生了什么
tcpdump -i eth0

原生输出、不解析主机、端口、显示绝对序列号、可读的时间戳
tcpdump -ttttnnvvS

查看指定ip的流量
tcpdump host {ip}

使用目的过滤
tcpdump src {source ip}
tcpdump dst {dest ip}

过滤某个子网的数据包
tcpdump net 1.2.3.0/24

过滤指定端口相关的流量
tcpdump port {port}
tcpdump src port {port} -> 只显示发出

过滤指定协议的流量
tcpdump tcp

只显示ipv6流量
tcpdump ip6

基于包大小过滤流量
tcpdump less 32
tcpdump grater 64
tcpdump <=128

使用端口范围过滤
tcpdump portrange 21-23

保存到指定文件
tcpdump port 80 -w file

加载之前保存的文件
tcpdump -r file

高级使用

  • AND: and or &&
  • OR: or or ||
  • except: not or !

过滤指定源和目的端口
tcpdump -n src 1.1.1.2 and dst port 8080

过滤指定网络方向
tcpdump -n src net 1.1.1.2/16 and dst net 1.1.1.3/16

过滤到指定ip的非icmp报文
tcpdump dst 1.1.1.2 and src net and not icmp

构建规则过于复杂的时候、可以使用单引号将规则放到一起
tcpdump 'src 1.1.1.1 and (dst port 80 or 22)'

隔离指定的TCP标识
tcp[13]表示在tcp header中的偏移位置13开始、后边代表的是匹配的字节数

显示所有的urgent包(URG)
tcpdump 'tcp[13] & 32!=0'

显示所有的ACK包
tcpdump 'tcp[13] & 16!=0'

显示所有的push包
tcpdump 'tcp[13] & 8!=0'

显示所有的reset包
tcpdump '[tcp13] & 4!=0'

显示所有的SYN包
tcpdump '[tcp13] & 2!=0'

显示所有的FIN包
tcpdump '[tcp13] & 1!=0'

显示所有的SYN/ACK包
tcpdump 'tcp[13]=18'

识别重要流量

过滤同时设置SYN和RST标识的包(这在正常情况下不应该发生)
tcpdump 'tcp[13] = 6'

过滤明文的HTTP GET请求
tcpdump 'tcp[32:4] = 0x47455420'

通过横幅文本过滤任意端口的SSH连接
tcpdump 'tcp[(tcp[12]>>2):4] = 0x5353482D'

过滤TTL小于10的包(通常情况下是存在问题或者在使用traceroute)
tcpdump 'ip[8] < 10'

过滤恶意的包
tcpdump 'ip[6] & 128 != 0'

理解报文内容

08:41:13.729687 IP 192.168.64.28.22 > 192.168.64.1.41916: Flags [P.], seq 196:568, ack 1, win 309, options [nop,nop,TS val 117964079 ecr 816509256], length 372

08:41:13.729687 本地时间戳
ip 协议是ipv4、若是ipv6会显示为 ip6
192.168.64.28.22 源ip和端口
192.168.64.1.41916 目的ip和端口
Flags [P.] 报文标记段
seq 196:568 代表该数据包包含该数据流的第 196 到 568 字节
ack 1 该数据包是数据发送方,ack 值为 1。在数据接收方,该字段代表数据流上的下一个预期字节数据,例如,该数据流中下一个数据包的 ack 值应该是 568
win 309 表示接收缓冲区中可用的字节数,后跟 TCP 选项如 MSS(最大段大小)或者窗口比例值
length 372 代表数据包有效载荷字节长度

flag描述
S SYN Connection Start
F FIN Connection Finish
P PUSH Data Push
. ACK Acknowledment

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容

  • 前言 tcpdump 是一个很常用的网络包分析工具,可以用来显示通过网络传输到本系统的 TCP/IP 以及其他网络...
    王奥OX阅读 39,761评论 0 12
  • 简单介绍 tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上。熟悉 tcpdump 的使用能够帮...
    吴易娃阅读 1,737评论 0 0
  • 实用tcpdump命令 //查看本机与mysql的操作命令注意-i any表示监听所有网络接口,我们也根据自身情况...
    kevinhuangk阅读 1,224评论 0 1
  • tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。 不带任何选项的tcpdu...
    SkTj阅读 417评论 0 0
  • 大家或多或少都有一段迷茫困惑的时期,可以说是人生的常态。如果没有障碍,就不能称之为生活。现实就是一座围城,...
    曦曦CC阅读 323评论 0 0