Ubuntu使用tcpdump工具

简介:

Ubuntu默认是安装好了tcpdump工具的,如果没有安装的话使用sudo apt-get install tcpdump即可安装。
   (如果遇到tcpdump: no suitable device found的问题,检查一下是不是在用root权限运行tcpdump,tcpdump只能在root权限下工作)

  安装好tcpdump之后,运行tcpdump:

  1. tcpdump -D 获取网络适配器列表,以下是在Ubuntu上获取到的结果:
  root@holmesian-laptop:~# tcpdump -D
  1.eth0
  2.wlan0
  3.usbmon1 (USB bus number 1)
  4.usbmon2 (USB bus number 2)
  5.usbmon3 (USB bus number 3)
  6.usbmon4 (USB bus number 4)
  7.usbmon5 (USB bus number 5)
  8.any (Pseudo-device that captures on all interfaces)
  9.lo

  2. tcpdump -i <需要监控的网络适配器编号>,例如我想监控我的无线网卡wlan0,则使用tcpdump -i 2。
  root@holmesian-laptop:~# tcpdump -i 2
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
   21:24:14.578430 00:24:f9:05:78:00 (oui Unknown) Unknown SSAP 0x78 > 00:1f:3a:18:fa:06 (oui Unknown) Unknown DSAP 0xd8 Information, send seq 0, rcv seq 16, Flags [Command], length 70
   21:24:14.578447 00:24:f9:05:78:00 (oui Unknown) Unknown SSAP 0x78 > 00:1f:3a:18:fa:06 (oui Unknown) Unknown DSAP 0xd8 Information, send seq 0, rcv seq 16, Flags [Command], length 223
   21:24:14.995603 00:24:f9:05:78:00 (oui Unknown) Unknown SSAP 0x20 > 78:dd:08:d1:b2:ca (oui Unknown) Unknown DSAP 0x76 Information, send seq 0, rcv seq 16, Flags [Command], length 70
   21:24:15.019811 00:24:f9:05:78:00 (oui Unknown) Unknown SSAP 0xa6 > 2c:81:58:ec:9c:54 (oui Unknown) Unknown DSAP 0x0a Information, send seq 0, rcv seq 16, Flags [Command], length 72
  如果不使用-i来定义监控适配器的话,默认使用列表中的第一个;

  3. 使用无线网卡wlan0监控IP地址为172.16.86.111上443端口的tcp协议
  tcpdump -i 2 host 172.16.86.111 and tcp port 443


  4. 如果想要显示数据包的内容,需要使用-X参数,如,我想要显示捕获的https数据包http header的内容:
  tcpdump -X -i 2 host 172.16.86.111 and tcp port 443


  显示结果如下:
   21:27:53.662741 IP holmesian-laptop.local.44239 > 172.16.86.111.https: Flags [S], seq 24296623, win 5840, options [mss 1460,sackOK,TS val 153804 ecr 0,nop,wscale 6], length 0
  0x0000: 4500 003c e463 4000 4006 514a ac10 567e E..<.c@.@.QJ..V~
  0x0010: ac10 566f accf 01bb 0172 bcaf 0000 0000 ..Vo.....r......
  0x0020: a002 16d0 66a8 0000 0204 05b4 0402 080a ....f...........
  0x0030: 0002 58cc 0000 0000 0103 0306 ..X.........
   21:27:56.660488 IP holmesian-laptop.local.44239 > 172.16.86.111.https: Flags [S], seq 24296623, win 5840, options [mss 1460,sackOK,TS val 154554 ecr 0,nop,wscale 6], length 0
  0x0000: 4500 003c e464 4000 4006 5149 ac10 567e E..<.d@.@.QI..V~
  0x0010: ac10 566f accf 01bb 0172 bcaf 0000 0000 ..Vo.....r......
  0x0020: a002 16d0 63ba 0000 0204 05b4 0402 080a ....c...........
  0x0030: 0002 5bba 0000 0000 0103 0306 ..[.........

.c
    可以看到该结果只显示了https头的一部分,没有显示全,是因为tcpdump默认将显示的数据长度截断了,可以使用-s后面加数据长度,来设置数据显示长度:
  tcpdump -X -s 0 -i 2 host 172.16.86.111 and tcp port 443


  以上的例子中,-s 0 表示自动设置长度使其能够显示所有数据。

  5. 捕获的数据太多,不断刷屏,可能需要将数据内容记录到文件里,需要使用-w参数
  tcpdump -X -s 0 -w aaa host 192.9.200.59 and tcp port 8000

  则将之前显示在屏幕中的内容,写入tcpdump可执行文件同级目录下的aaa文件中。
  文件查看方式如下,需要使用-r参数:
  tcpdump -X -s 0 -i 2 -r holmesian host 172.16.86.111 and tcp port 443

  如果这样写:
  tcpdump -r holmesian
  则只能看到最简单的数据传输交互过程,看不到数据包内容,查看时也需要使用相应的参数。

  6.总结
  总结一下,tcpdump的参数分两个部分,选项(Options)和表达式(expression):
  root@holmesian-laptop:~# tcpdump -h

 

  tcpdump version 4.0.0
libpcap version 1.0.0
Usage: tcpdump [-aAdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -M secret ] [ -r file ]
[ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ]
[ -y datalinktype ] [ -z command ] [ -Z user ]
[ expression ]

本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/3670856.html如需转载请自行联系原作者


demoblog

相关文章
|
1月前
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
44 0
|
3月前
|
机器学习/深度学习 网络协议 安全
网络抓包工具 - tcpdump
【1月更文挑战第1天】
96 4
|
1天前
|
机器学习/深度学习 运维 网络协议
运维工程师必会工具(Nmap和TCPdump)
运维工程师必会工具(Nmap和TCPdump)
|
6月前
|
监控 Ubuntu 数据可视化
如何使用各种工具和命令来检查 Ubuntu 中的 CPU 使用情况?
如何使用各种工具和命令来检查 Ubuntu 中的 CPU 使用情况?
384 0
如何使用各种工具和命令来检查 Ubuntu 中的 CPU 使用情况?
|
3月前
|
监控 Ubuntu
百度搜索:蓝易云【如何使用各种工具和命令来检查Ubuntu中的CPU使用情况?】
这些工具和命令可以帮助你实时监控和检查Ubuntu系统中的CPU使用情况。你可以根据需要选择合适的工具来查看CPU使用情况,并根据情况采取相应的措施来优化系统性能。
58 1
|
7月前
|
Ubuntu Java Linux
kali/ubuntu/debain桌面工具/软件
kali/ubuntu/debain桌面工具/软件
57 0
|
8月前
|
Ubuntu Linux
Ubuntu下好用的截图工具flameshot
Ubuntu下好用的截图工具flameshot
155 1
|
9月前
|
Ubuntu Linux
Ubuntu下安装类似QQ截图的工具 flameshot
Ubuntu下安装类似QQ截图的工具 flameshot
95 0
|
11月前
|
Ubuntu 网络安全 数据安全/隐私保护
使用Windows远程桌面工具来远程连接控制Ubuntu系统
使用Windows远程桌面工具来远程连接控制Ubuntu系统
1764 0
|
11月前
|
虚拟化
在Ubuntu18.04虚拟机下安装VMware-Tools工具
在Ubuntu18.04虚拟机下安装VMware-Tools工具
103 0