linux网络问题分析工具之tcpdump

tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析,用于网络分析和问题排查。

一、举例:

1.如果想要获取主机192.168.228.246接收或发出的ssh包,并且不转换主机名使用如下命令: 
#tcpdump -nn -n src host 192.168.228.246 and port 22 and tcp

2.获取主机192.168.228.246接收或发出的ssh包,并把mac地址也一同显示:
# tcpdump -e src host 192.168.228.246 and port 22 and tcp -n -nn

3.过滤的是源主机为192.168.0.1与目的网络为192.168.0.0的报头:
tcpdump src host 192.168.0.1 and dst net 192.168.0.0/24

4.过滤源主机物理地址为XXX的报头:
tcpdump ether src 00:50:04:BA:9B and dst

5.过滤源主机192.168.0.1和目的端口不是telnet的报头,并导入到tes.t.txt文件中:
Tcpdump src host 192.168.0.1 and dst port not telnet -l > test.txt

6.以 IP 与 Port Number 捉下 eth0 这个网卡上的数据包:

tcpdump -i eth0 -nn

7.只取21的数据包:

tcpdump -i eth0 -nn port 21

8.如果我们只需要列出送到80端口的数据包,用dst port;如果我们只希望看到返回80端口的数据包,用src port。
#tcpdump –i eth0 host hostname and dst port 80 目的端口是80
或者
#tcpdump –i eth0 host hostname and src port 80 源端口是80 一般是提供http的服务的主机

9. and/or/not的使用:

and 或 or 或 not
#tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80

10.可以把结果放在一个cap文件中:

tcpdump -i eth0 -c 10 tcp and port 22 -w 1.cap

这里如果需要截取完整的内容最好加上s0:tcpdump -nn -s0 -i eth0 -c 10 tcp and port 22 -w 1.cap

查看cap文件内容:tcpdump -r 1.cap这个cap文件里面是一些数据文件内容而不是数据流向

如果要抓包的流向:tcpdump -i eth0 -c 10 tcp and port 22 >1.cap

二、格式:

tcpdump [-nn] [-i 接口] [-w 储存档名] [-c 次数] [-Ae]
                        [-qX] [-r 文件] [所欲捕获的数据内容]

三、参数:

-nn,直接以 IP 及 Port Number 显示,而非主机名与服务名称。
-i,后面接要「监听」的网络接口,例如 eth0, lo, ppp0 等等的接口。
-w,如果你要将监听所得的数据包数据储存下来,用这个参数就对了。后面接文件名。
-c,监听的数据包数,如果没有这个参数, tcpdump 会持续不断的监听
     直到用户输入 [ctrl]-c 为止。比如,我只抓100个包:tcpdump -c 100 -nn
-A,数据包的内容以 ASCII 显示,通常用来捉取 WWW 的网页数据包资料。
-e,使用资料连接层 (OSI 第二层) 的 MAC 数据包数据来显示。
-q,仅列出较为简短的数据包信息,每一行的内容比较精简。
-X,可以列出十六进制 (hex) 以及 ASCII 的数据包内容,对于监听数据包内容很有用。
-r,从后面接的文件将数据包数据读出来。那个「文件」是已经存在的文件,
     并且这个「文件」是由 -w 所制作出来的。
所欲捕获的数据内容:我们可以专门针对某些通信协议或者是 IP 来源进行数据包捕获。
     那就可以简化输出的结果,并取得最有用的信息。常见的表示方法有。
    ‘host foo‘, ‘host 127.0.0.1‘ :针对单台主机来进行数据包捕获。
     ‘net 192.168‘ :针对某个网段来进行数据包的捕获。
     ‘src host 127.0.0.1‘ ‘dst net 192.168‘:同时加上来源(src)或目标(dst)限制。
     ‘tcp port 21‘:还可以针对通信协议检测,如tcp、udp、arp、ether 等。
     除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,
greater,还有三种逻辑运算,取非运算是 ‘not ‘ ‘! ‘, 与运算是‘and‘,‘&&‘;或运算 是‘o
r‘ ,‘||‘;

-s截取报文的字节。snaplen参数值为0,即是设置为默认值65535。

时间: 2025-01-08 18:32:01

linux网络问题分析工具之tcpdump的相关文章

《Unix/Linux网络日志分析与流量监控》获2015年度最受读者喜爱的IT图书奖

<Unix/Linux网络日志分析与流量监控>获2015年度最受读者喜爱的IT图书奖.刊登在<中华读书报>( 2015年01月28日 19 版) 我的2015年新作刊登在<中华读书报>( 2015年01月28日 19 版) 原文下载:http://epaper.gmw.cn/zhdsb/images/2015-01/28/19/2015012819_pdf.pdf 这3本原创Linux图书,全部收录于中国科学院图书馆.国图以及211.985高校图书馆,广获读者好评,在当

《UNIX/Linux网络日志分析与流量监控》新书上市一个月,销量位列畅销榜 TOP 10

<UNIX/Linux网络日志分析与流量监控>新书上市一个月,销量位列畅销榜 TOP 10,感谢大家的支持,今后将会有重磅新书推出,2015 新年快乐!

iOS安全- 网络封包分析工具Charles

之前写了一篇文章: iOS开发- 以图搜图功能实现 (源码+解析) 好多朋友都比较好奇我是如何获取到百度以图搜图的API, 其实这非常简单. 利用网络封包分析工具 " Charles " 就能轻松实现. 获取以图搜图API,只有简单3步: 1. 打开Charles 2. 模拟识图,发送请求 3. 分析请求 本来想自己介绍下这个工具的,不过看到唐巧大神有一篇相关的文章,我就不班门弄斧了.这里参考他的介绍. 另外, 拉票先- 如果对你有所帮助,点击下方的投票链接,给我投上一票吧. 谢谢.

五个好用的网络协议分析工具(附下载)

Network Packet Analyzer,是一种网络分析程序,可以帮助网络管理员捕获.交互式浏览网络中传输的数据包和分析数据包信息等.这里给出了5个最好的网络数据包分析工具,具体如下: 1. Wireshark 相信大家都很熟悉,就不多介绍了.Wireshark网络嗅探器是最受欢迎的免费网络嗅探器之一,它能够在Unix系统和Win系统下运行. 下载:http://www.wireshark.org/download.html 2. Microsoft Network Monitor Mic

Linux系统IO分析工具之iotop参数详解(查看IO占用)

这篇文章主要介绍了Linux系统IO分析工具之iotop参数详解(查看IO占用),本文着重注解了iotop工具的参数,以及可操作命令,需要的朋友可以参考下 简介: iotop – simple top-like I/O monitoriotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息(requires 2.6.20 or later) 安装: 复制代码 代码如下: yum -y install iotop 用法: 复制代码 代码如下: iotop

《UNIX/Linux网络日志分析与流量监控》实验环境下载

<UNIX/Linux网络日志分析与流量监控>实验环境下载 1.Ossim 4.1 虚拟机下载  (适合2~4G内存的服务器运行) 2.Ossim 3.1 虚拟机下载  (适合1~2G内存的老款服务器运行) 3.Ossim 2.3.1 虚拟机下载  (适合1~2G内存的老款服务器运行) 其他版本下载 4.DEFT8.2 ISO 下载 5.Solaris 9 for X86 虚拟机下载 6.Sco OpenServer 5.0.5 虚拟机下载 7.BT5  虚拟机下载 8.Grml64 ISO

iOS开发工具-网络封包分析工具Charles

简介 本文为InfoQ中文站特供稿件,首发地址为:文章链接.如需转载,请与InfoQ中文站联系. Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析. Charles是收费软件,可以免费试用30天.试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有

iOS开发工具——网络封包分析工具Charles

简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析. Charles是收费软件,可以免费试用30天.试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时. 相关厂商内容 付钱拉开发者支持计划火热启动-点燃创业梦想 可用性高达五个9

网络封包分析工具Charles使用

网址:http://www.charlesproxy.com/ 截取网络封包的工具. 简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析. Charles是收费软件,可以免费试用30天.试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒