- 浏览: 140690 次
- 性别:
- 来自: 成都
文章分类
最新评论
【基本介绍】
tcpdump用来抓取数据包的进行分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
【基本使用】
1. tcpdump的选项介绍
-a 将网络地址和广播地址转变成名字;
-d 将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd 将匹配信息包的代码以c语言程序段的格式给出;
-ddd 将匹配信息包的代码以十进制的形式给出;
-e 在输出行打印出数据链路层的头部信息;
-f 将外部的Internet地址以数字的形式打印出来;
-l 使标准输出变为缓冲行形式;
-n 不把网络地址转换成名字;
-t 在输出的每一行不打印时间戳;
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv 输出详细的报文信息;
-c 在收到指定的包的数目后,tcpdump就会停止;
-F 从指定的文件中读取表达式,忽略其它的表达式;
-i 指定监听的网络接口;
-r 从指定的文件中读取包(这些包一般通过-w选项产生);
-w 直接将包写入文件中,并不分析和打印出来;
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)
2. tcpdump的表达式介绍
表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。在表达式中一般如下几种类型的关键字。
第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23指明端口号是23。如果没有指定类型,缺省的类型是host.http://anheng.com.cn/news/24/586.html
第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。
http://anheng.com.cn/news/24/586.html 第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
例子:
A想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:
#tcpdump host 210.27.48.1
B想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中使用括号时,一定要添加'\')
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
C如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
D如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1
E 对本机的udp 123 端口进行监视 123 为ntp的服务端口
# tcpdump udp port 123
F 系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据:
#tcpdump -i eth0 src host hostname
G 下面的命令可以监视所有送到主机hostname的数据包:
#tcpdump -i eth0 dst host hostname
H 我们还可以监视通过指定网关的数据包:
#tcpdump -i eth0 gateway Gatewayname
I 如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令:
#tcpdump -i eth0 host hostname and port 80
J 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
K 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
L 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
M 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1
【参考】
http://www.cnblogs.com/yc_sunniwell/archive/2010/07/05/1771563.html
tcpdump用来抓取数据包的进行分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
【基本使用】
1. tcpdump的选项介绍
-a 将网络地址和广播地址转变成名字;
-d 将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd 将匹配信息包的代码以c语言程序段的格式给出;
-ddd 将匹配信息包的代码以十进制的形式给出;
-e 在输出行打印出数据链路层的头部信息;
-f 将外部的Internet地址以数字的形式打印出来;
-l 使标准输出变为缓冲行形式;
-n 不把网络地址转换成名字;
-t 在输出的每一行不打印时间戳;
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv 输出详细的报文信息;
-c 在收到指定的包的数目后,tcpdump就会停止;
-F 从指定的文件中读取表达式,忽略其它的表达式;
-i 指定监听的网络接口;
-r 从指定的文件中读取包(这些包一般通过-w选项产生);
-w 直接将包写入文件中,并不分析和打印出来;
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)
2. tcpdump的表达式介绍
表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。在表达式中一般如下几种类型的关键字。
第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23指明端口号是23。如果没有指定类型,缺省的类型是host.http://anheng.com.cn/news/24/586.html
第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。
http://anheng.com.cn/news/24/586.html 第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
例子:
A想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:
#tcpdump host 210.27.48.1
B想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中使用括号时,一定要添加'\')
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
C如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
D如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1
E 对本机的udp 123 端口进行监视 123 为ntp的服务端口
# tcpdump udp port 123
F 系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据:
#tcpdump -i eth0 src host hostname
G 下面的命令可以监视所有送到主机hostname的数据包:
#tcpdump -i eth0 dst host hostname
H 我们还可以监视通过指定网关的数据包:
#tcpdump -i eth0 gateway Gatewayname
I 如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令:
#tcpdump -i eth0 host hostname and port 80
J 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
K 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
L 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
M 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1
【参考】
http://www.cnblogs.com/yc_sunniwell/archive/2010/07/05/1771563.html
发表评论
-
linux shell - 远端修改非root密码
2015-01-09 20:40 1000【基本介绍】 通过远端修改普通用户密码,而passwd --s ... -
linux shell - broken pip error
2015-01-07 15:36 2753【基本介绍】 这里我们介绍发生broken pipe错误的原因 ... -
linux locate - find files by name
2014-12-17 17:46 610【基本介绍】 这里我们介绍locate命令,用来查找文件。 ... -
linux ssh - GSSAPIAuthentication
2014-12-10 14:58 2118【基本介绍】 最近公司搬家,发现合作伙伴的服务器的用ftp工具 ... -
linux tar - 压缩解压
2014-12-01 16:04 1021【基本介绍】 今天遇到要添加文件到tar文件里面,所以在这里介 ... -
linux parameter substitution - 字符串/变量处理
2014-11-17 15:56 817【基本介绍】 这里我们介绍bash里面对字符串,变量等的替换等 ... -
linux netstat - status状态描述
2014-11-14 17:59 1160【基本介绍】 这里介绍netstat命令返回的结果status ... -
linux set - set variables and set positional parameters
2014-11-10 18:26 436【基本介绍】 set是shell的内置命令。可以用来设置修改变 ... -
linux nc - arbitrary TCP and UDP connections and listens
2014-10-31 17:46 809【基本介绍】 nc是可以打开任意端口的TCP/UDP连接和监听 ... -
linux 报错集 - Cannot retrieve metalink for repository: epel. Please verify its pat
2014-10-29 15:12 960【基本介绍】 运行yum报错Error: Cannot ret ... -
linux awk - awk tutorial
2014-10-21 10:47 508【基本介绍】 awk是一款强大的对文件内容进行处理的软件,可以 ... -
linux ps - processes
2014-10-20 14:17 1263【基本介绍】 ps - report a snapshot o ... -
linux lsof - list open files
2014-10-17 17:31 761【基本介绍】 lsof - list open files I ... -
linux - 网络连接状态
2014-10-13 11:00 1405【基本情况】 这里介绍 ... -
linux netstat - Print network connections, routing tables, interface statistics,
2014-10-13 10:37 1018【基本介绍】 netstat - Print network ... -
linux vmstat - Report virtual memory statistics
2014-10-10 17:39 735【基本介绍】 vmstat - Report virtual ... -
linux yum - yum warning: rpmts_HdrFromFdno
2014-10-09 15:08 607【基本介绍】 在yum安装软件的时候有时候会报warning: ... -
Linux ip subnet mask - 网段分析
2014-09-24 19:22 1372【基本介绍】 网段的分析可以帮助我们查看两个局域地址是否可以互 ... -
linux curl - curl 上传下载
2014-09-19 11:45 2125【基本介绍】 curl is a tool to tra ... -
linux mkpasswd - 密码生成器
2014-09-18 17:18 1417【基本介绍】 作为linux admin要经常创建用户,并初始 ...
相关推荐
tcpdump的使用非常灵活,可以通过指定各种参数和过滤表达式来控制抓包行为。例如,`tcpdump -i eth0 port 80`会捕获接口eth0上与HTTP(端口80)相关的所有数据包。此外,tcpdump支持输出数据包到文件,以便后续分析...
在Linux系统中,我们可以使用以下命令来启动tcpdump并捕获指定端口的数据包: ```bash tcpdump -i interface -nn port port_number ``` 这里的`interface`是指你要监听的网络接口(如eth0、wlan0等),`-nn`选项...
Unix平台网络抓包工具,功能全面,使用简单,界面友好
Linux运维-03--服务器的高可用-17tcpdump抓vrrp包查看.mp4
在实际使用中,tcpdump提供了丰富的命令行选项,允许用户定制抓包行为。例如,你可以指定监听哪个网络接口(如eth0或lo),过滤特定的网络流量(如只抓取HTTP或FTP协议的数据包),或者限制抓取的数据包数量。命令行...
值得注意的是,由于Tcpdump具有高度的监控能力,涉及敏感信息的抓包操作通常需要root权限执行。同时,合理使用这些工具并尊重用户隐私是网络管理中的重要原则。在实际应用中,网络管理员应根据实际情况,遵循法规和...
例如,`-i`用来指定监听的网络接口,`-n`阻止名字解析以提高性能,`-s`设置抓包的缓冲区大小,而`-c`则限制抓取特定数量的数据包。此外,过滤表达式(如`host`, `port`, `protocol`等)可以帮助精确地筛选需要分析的...
在Linux和Unix-like操作系统中,这种格式通常用于分发源代码包,用户需要先解压并编译才能安装。 TcpDump的主要功能是抓取网络流量,它可以捕获通过网络接口发送和接收的所有数据包。这些数据包的“头”部分包含了...
tcpdump是一款强大的网络数据包分析工具,主要用于在Linux操作系统中实时捕获、打印网络上的数据包。这个"tcpdump-4.9.3.tar.gz"压缩包包含了该工具的源代码,版本为4.9.3,适用于包括ARM架构在内的多种平台。下面将...
Linux的抓包程序tcpdump是网络诊断和分析的重要工具,它允许系统管理员或开发者捕获网络上的数据包,以便分析网络通信的问题、监控网络活动或者进行安全审计。tcpdump能够解析并显示各种网络协议的数据包详细信息,...
在给定的场景中,由于需要在Linux上测试一个HTTP协议伪装的实现,Tcpdump被选用作为抓包工具,因为它的功能强大且灵活,能够满足各种复杂的网络监控需求。 Tcpdump的工作原理基于libpcap库,这是一个开源的跨平台...
Tcpdump 4.5.1版本,解压后是一个二进制可执行文件,不需要任何编译和安装,可以直接执行,上传Linux环境解压即可使用: root@admin:/tmp# ./tcpdump -help tcpdump version 4.5.1 libpcap version 1.5.3 Usage: ...
Linux运维-运维课程网络基础d3- 路由表与抓包工具使用16tcpdump工具抓包【了解】.mp4
tcpdump 命令是用于抓包的强大工具,它可以捕获和显示网络流量的详细信息。在系统管理员和网络工程师中/tcpdump 是一个非常有用的工具,可以帮助他们 debug 网络问题、分析网络流量、检测网络攻击等。 tcpdump 命令...
linux平台对网络上传输的数据包进行捕获的抓包工具: tcpdump-4.5.1-2.el7.x86_64.rpm 网络数据包捕获函数库: libpcap-1.5.3-12.el7.x86_64.rpm
支持在Tomato DualWAN 等系统下使用的tcpdump工具. chmod +x tcpdump 简单用法: a.... /tmp/tcpdump -i br0 -f "host 192.168.1.3" -vv b..../tmp/tcpdump -i br0 -f "host 192.168.1.3" -w /tmp/aa....停止抓包:ctrl+c
* 文件输入输出参数:-w 将抓包内容保存到指定到文件,并不打印出来;-r 从指定的文件中读取包。 * 其他参数:-n 不把网络地址转换成名字;-nn 不把端口和网络地址转换成名称;-t 在输出的每一行不打印时间戳;-v ...
linux抓包
使用tcpdump抓包工具,我们可以获取到设备上所有网络接口的传输数据,包括TCP、UDP、ICMP等各种协议的数据包。这些数据包包含了源地址、目标地址、端口号、协议类型、数据内容等关键信息。对于Android开发者来说,这...
### tcpdump抓包详解 #### 一、简介 tcpdump是一款功能强大的网络数据包捕获工具,主要用于在Linux系统上捕获和分析网络流量。它能够实时地从网络设备上捕获数据包,并通过多种过滤条件对数据进行筛选,帮助用户...