tcpdump学习笔记

实用tcpdump命令

//查看本机与mysql的操作命令注意-i any表示监听所有网络接口,我们也根据自身情况选择网络接口

#tcpdump -i any -w - dst port 3306

|strings

//查看本机58895上与mysql的命令注意-i any表示监听所有网络接口,我们需要根据自身情况选择网络接口

#tcpdump -i any -w - dst port 3306 and src

port 58895 |strings

同理,也可以使用上面的命令,查看kafka,etcd,redis,mc等的命令情况,只要是明文协议都可以

tcpdump命令格式

#tcpdump option filter

option举例-n, -i any等

filter是过滤包的条件,举例: tcp,portrange 1-1000, src port 58895, host www.itshouce.com.cn,

filter可以进行组合 比如:

dst port 3306 and src port 58895

portrange 1-1000 or src port 58895

not dst port 3306

optionfilter

举例:tcpdump-i any -nportrange 1-3306 or portrange 10000-58895

tcpdump option

//在en2这个网络接口监听,如果不指定,那么会搜索所有的网络接口,在数字最小的网络端口上监听

//也就是tcpdump -D上左边数字最小的

#tcpdump -i en2

//linux 2.2以上支持-i any

#tcpdump -i any可以监听所有端口

-n不要把ip转换为机器名字

#tcpdump -n

// -w -// -w为把内容write到某个地方,-表示标准输出也就是输出到标准输出中

#tcpdump-w - |strings这是一个超级有用的命令,把包的数据,用字符展示出来

// -w a.cap把抓包结果写入a.cap中

// -C 1如果a.cap超过1M大小,则新开一个文件,-C

fileSize ,单位是MB

#tcpdump-C 1-w a.cap

#ll

-rw-r--r--1 rootwheel1000092 Apr 21 21:05 a.cap//超过1MB了

-rw-r--r--1 rootwheel849388 Apr 21 21:05 a.cap1

//-r从某个文件读取

#tcpdump -n -r a.cap

#tcpdump -X以十六进制以及ASCII的形式打印数据内容

#tcpdump -x除了打印出header外,还打印packet里面的数据(十六进制的形式)

#tcpdump -xx以十六进制的形式打印header, data内容

//-A把每一个packet都用以ASCII的形式打印出来

#tcpdump -Ahost www.itshouce.com.cn

// -c 3表示收到3个packet就退出

#tcpdump -A -c 3host www.itshouce.com.cn

...

3 packets captured

65 packets received by filter

0 packets dropped by kernel

//看目前机器上有哪些网络接口

#tcpdump -D

1.en0

2.awdl0

3.bridge0

4.utun0

5.en1

6.en2

7.p2p0

8.lo0

//-e把连接层的头打印出来

#tcpdump -e

21:15:27.665159 *:*:60:dc:d0:d9 (ouiUnknown) > *:*:07:10:81:36 (oui Unknown), ethertype IPv4 (0x0800), length79: zj-db0355dembp.lan.51318 > hiwifi.lan.domain: 20430+ A?www.itshouce.com.cn. (37)

#tcpdump -j timestamp type可以修改输出的时间格式,貌似centos6.5不支持

#tcpdump -J显示支持的时间格式

//-l把stdout bufferd住,当你既想在屏幕上看结果,又想把结果输出到文件中时,比较有用

#tcpdump -l

//tee是一个命令,在屏幕上显示dump内容,并把内容输出到dump.log中

#tcpdump -l |tee dump.log

#tcpdump -l > dump.log &tail -fdump.log

//-q就是quiect output,尽量少的打印一些信息

#tcpdump -q

//-S打印真实的,绝对的tcp seq no

#tcpdump -S

21:33:06.569478 IP *dembp.lan.54864 >***: Flags [P.], seq 3980049501:3980049596, ack 3916671858, win 4091, options[nop,nop,TS val 1201572125 ecr 1490447193], length 95

//默认抓取包长度是65535,

#tcpdump//capture sieze 65535

listening on em1, link-type EN10MB(Ethernet), capture size 65535 bytes

//我们设置为256该参数目的:减少抓包文件的大小

#tcpdump -s256

listening on pktap, link-type PKTAP (PacketTap), capture size 256 bytes

#tcpdump -t不要打时间戳

#tcpudmp -tt打出timstamp,从1970-1-1以来的秒数,以及微秒数

#tcpdump -v打印出详细结果如ttl

#tcpdump -vv打印出更加详细的结果如window, checksum等

tcpdump过滤项

下面所有测试中都有-i any的选项,表示抓取所有网络接口上的包,只是为了让测试方便

//抓取arp协议的包,然后host为192.168.199.*测试时需要在另一个session,做一个ifconfig指令

//arp可以换为tcp,udp等

#tcpudmp -i any -n arp host 192.168.199

22:39:58.991043 ARP, Request who-has192.168.199.125 tell 192.168.199.1, length 28

22:39:58.991059 ARP, Reply 192.168.199.125is-at a4:5e:60:dc:d0:d9, length 28

//抓取访问destination 80端口的包,然后我们做一个curl www.baidu.com的操作

#tcpdump -i any -n dst port 80

22:53:06.041382 IP 192.168.199.125.63161 >119.75.219.45.80: Flags [F.], seq 0, ack 1, win 65535, length 0

//抓取源上端口是80的包

#tcpdump -i any -n src port 80

22:57:48.343422 IP 112.80.248.73.80 >192.168.199.125.63275: Flags [.], seq 38478:39918, ack 78, win 193, length 1440

//抓取源或者目标端口都是80的包

#tcpdump -i any -n port 80

22:58:51.165333 IP 112.80.248.74.80 >192.168.199.125.63298: Flags [F.], seq 100439, ack 79, win 193, length 0

22:58:51.165349 IP 192.168.199.125.63298> 112.80.248.74.80: Flags [R], seq 703147494, win 0, length 0

//表示抓取destination prot在1到80之间的端口的数据

#tcpdump-i any -n dst portrange 1-80在另外的面做curl www.baidu.com以及telnet192.168.21.1

23:00:13.550006 IP 192.168.199.125.63310>*.*.248.73.80: Flags [.], ack71649, win 8012, length 0

23:01:27.363723 IP 192.168.199.125.63327> 192.168.21.1.23: Flags [S], seq 621213649, win 65535, options [mss1460,nop,wscale 5,nop,nop,TS val 1240986522 ecr 0,sackOK,eol], length 0

//抓取源的端口是20-80的包

#tcpdump -i any -n src portrange 20-80

//抓取端口是20-80的包,不考虑源

#tcpdump -i any -n portrange 20-80

//抓取destination为www.baidu.com的包

#tcpdump -i any dst www.baidu.com然后ping www.baidu.com ,以及 在浏览器中访问www.baidu.com

22:22:17.445872 IP *0355dembp.lan >112.80.248.73: ICMP echo request, id 26478, seq 0, length 64

2:22:50.108236 IP*0355dembp.lan.62371 >112.80.248.74.https: Flags [S], seq 2884215363, win 65535, options [mss1460,nop,wscale 5,nop,nop,TS val 1238683151 ecr 0,sackOK,eol], length 0

//抓取destination为192.168.1.2的包

#tcpdump -i any dst 192.168.1.2

22:26:46.808706 IP zj-db0355dembp.lan >192.168.1.2: ICMP echo request, id 31854, seq 0, length 64

//抓取destination为192.168.1.[0-255]的包

#tcpdump -i any dst 192.168.1可以指定范围

#ifconfig可以看出我本机的ip是192.168.199.125

//抓取source为192.168.*.*的包,使用-n则只是为了显示ip,而不是主机名,

#tcpdump -i any -n src 192.168

22:30:50.490355 IP 192.168.199.125.61086 >*.*.*.*.341: Flags [.], ack 56, win 8185, options [nop,nop,TS val 1239157627ecr 1580310986], length 0

//抓取192.168的包(不管是source还是destination)

#tcpdump -i any -n host 192.168

22:38:07.580567 IP *.*.*.*.34186 >192.168.199.125.61086: Flags [P.], seq 787907565:787907668, ack 871423065, win126, options [nop,nop,TS val 1580748123 ecr 1239593243], length 103

22:38:08.453788 IP 192.168.199.125.61086> *.*.*.*.34186: Flags [P.], seq 9481:10147, ack 5769, win 8179, options[nop,nop,TS val 1239594178 ecr 1580748994], length 666

//抓取包长度小于800的包

#tcpudmp -i any -n less 800

21:09:17.687673 IP 192.168.199.1.50150 >*.*.*.*.1900: UDP, length 385

//抓取包长度大于800的包

#tcpdump -i any -n greater 800

21:13:21.801351 IP 192.168.199.125.64826> *.*.*.*.80: Flags [P.], seq 2155:3267, ack 44930, win 8192, length 1112

//只抓取tcp包

#tcpdump -i any -n tcp

1:21:18.777815 IP 192.168.199.125.50249> *.*.*.*.443: Flags [.], ack 75, win 4093, options [nop,nop,TS val1269008649 ecr 44997038], length 0

//只抓取udp包

#tcpdump -i any -n udp

21:22:48.434449 IP 192.168.199.1.50150 >*.*.*.*.1900: UDP, length 385

//只抓取icmp的包,internet控制包

#tcpdump -i any -n icmp

21:25:42.550374 IP 192.168.199.1 >192.168.199.125: ICMP *.*.*.* unreachable - need to frag (mtu 1480), length 556

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

推荐阅读更多精彩内容

  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,903评论 1 13
  • 本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lso...
    老夫刘某阅读 3,409评论 0 7
  • 我们用websocket和http来研究一下TCP/IP协议的一些特性,在上一篇文章《https连接的前几毫秒发生...
    啾啾哒阅读 450评论 0 1
  • 我们用websocket和http来研究一下TCP/IP协议的一些特性,在上一篇文章《https连接的前几毫秒发生...
    极乐君阅读 1,865评论 1 6
  • 禅定,又名「三昧」,所谓「念佛三昧,三昧之王。」「禅」「定」亦即「止」「观」,止是放下,观是看破。禅定是指「心一境...
    3a8d3266791e阅读 485评论 0 0