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 ]
Ubuntu使用tcpdump工具的更多相关文章
- ubuntu下tcpdump使用
		Ubuntu默认是安装好了tcpdump工具的,如果没有安装的话使用sudo apt-get install tcpdump即可安装. (如果遇到tcpdump: no suitable devi ... 
- Ubuntu 使用Gparted工具扩大第一分区方法步骤
		Ubuntu 使用Gparted工具扩大第一分区方法步骤 环境:vmware9.01 .ubuntu12.04 需要的工具: 1.U盘,Universal-USB-Installer-1.9.6.4. ... 
- ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别
		ubuntu 软件包管理工具 dpkg,apt-get,aptitude 区别 一:dpkg dpkg 是一种比较低层的软件包安装管理工具,在安装时,不会安装软件包的依赖关系:只能安装所要求的软件包: ... 
- 使用Ubuntu系统管理包工具(apt)部署Zabbix企业级监控系统
		使用Ubuntu系统管理包工具(apt)部署Zabbix企业级监控系统 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblo ... 
- Ubuntu安装dos2unix工具
		Ubuntu下默认没有安装dos2unix工具,而且也没有一个叫这个名字的工具(我在solaris里用过dos2unix,不知道为啥Ubuntu没有).但是有一个替代工具——tofrodos , 下面 ... 
- Ubuntu安装Tcpdump
		参考:ubuntu下安装Tcpdump并使用 请先安装libpcap等,可以参照上文链接. 安装: 网址:http://www.tcpdump.org/ 解压: tar -zxvf tcpdump-4 ... 
- Ubuntu系统下载工具的推荐
		源 起 大家在上手一段时间Ubuntu系统后,可能突然想起最近新出了一些电影想要下载来看看,但如果用Wine运行迅雷,不是没反应就是启动后也不能下载,针对这个问题,根据我的使用体验推荐大家两款Ubun ... 
- ubuntu 下截图工具的使用
		我个人觉得,ubuntu自带的截图工具功能就不错.具体使用如下: 在ubuntu下的系统设置中找到硬盘区的“键盘”处,进入该设置界面如下: 选择标签“快捷键”,进入新设置界面如下所示: 之后,你就可以 ... 
- UBUNTU下FPT工具--lftp使用说明
		lftp 是UBUNTU下一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps 和https需要在编译的时候包含open ... 
随机推荐
- Intel 80x86 Linux Kernel Interrupt(中断)、Interrupt Priority、Interrupt nesting、Prohibit Things Whthin CPU In The Interrupt Off State
			目录 . 引言 . Linux 中断的概念 . 中断处理流程 . Linux 中断相关的源代码分析 . Linux 硬件中断 . Linux 软中断 . 中断优先级 . CPU在关中断状态下编程要注意 ... 
- Codeforces 556D Restructuring Company
			传送门 D. Restructuring Company time limit per test 2 seconds memory limit per test 256 megabytes input ... 
- Oracle DBA从小白到入职实战应用
			现如今Oracle依然是RDBMS的王者,在技术上和战略上,Oracle仍然一路高歌猛进,并且全面引领行业迈入了云时代,伴随着12cR2即将在2016年正式发布,学习Oracle之路依旧任重道远,目前 ... 
- Java中反射机制和Class.forName、实例对象.class(属性)、实例对象getClass()的区别
			一.Java的反射机制 每个Java程序执行前都必须经过编译.加载.连接.和初始化这几个阶段,后三个阶段如下图: 其中 
- spring mvc实现修改+删除
			1.在userController中添加修改的方法 a.首先点击修改,我们一般是到修改界面,并且上面有值,并且有提交按钮 b.修改后,提交到查看的页面 //进入修改界面 @RequestMapping ... 
- intel 系列的PC机处理器是大端的还是小端的?
			intel 系列的PC机处理器是大端的还是小端的?由于要安装oracle,需要知道是大端机器还是小端的,你好,现在流行的PC,是微型处理器,也就是所谓的小端处理器. 大端处理器是由若干个微型处理器有机 ... 
- explode 和 implode
			<?php $str = "HellooooLAAAAAALleeellll33432ll!"; //字符拆分,当2个“l”并列出现,元素结果是空格“ ”,所有的结果是一维数 ... 
- shell kill掉含同一字符的关键字的进程
			如何kill掉进程名包含某个字符串的一批进程:kill -9 $(ps -ef|grep 进程名关键字|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ') 观 ... 
- C语言内存对齐详解(3)
			接上一篇:C语言内存对齐详解(2) 在minix的stdarg.h文件中,定义了如下一个宏: /* Amount of space required in an argument list for a ... 
- FZU2127:养鸡场
			Problem Description Jason买来了n米长的竹篱笆,打算将n米长的竹篱笆所实用来围成一个三角形的养鸡场.为方便起见.养鸡场三条边的长度都为正整数. 同一时候.他想让自己的养鸡场看起 ... 
