`

linux tcpdump - tcpdump抓包

阅读更多
【基本介绍】
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
  • 大小: 164.3 KB
分享到:
评论

相关推荐

    tcpdump-4.9.0.tar.gz

    tcpdump的使用非常灵活,可以通过指定各种参数和过滤表达式来控制抓包行为。例如,`tcpdump -i eth0 port 80`会捕获接口eth0上与HTTP(端口80)相关的所有数据包。此外,tcpdump支持输出数据包到文件,以便后续分析...

    tcpdump-4.9.3.tar.gz

    tcpdump是一款强大的网络数据包分析工具,主要用于在Linux操作系统中实时捕获、打印网络上的数据包。这个"tcpdump-4.9.3.tar.gz"压缩包包含了该工具的源代码,版本为4.9.3,适用于包括ARM架构在内的多种平台。下面将...

    linux-利用tcpdump抓包和awk处理写的基于端口的流量统计

    在Linux系统中,我们可以使用以下命令来启动tcpdump并捕获指定端口的数据包: ```bash tcpdump -i interface -nn port port_number ``` 这里的`interface`是指你要监听的网络接口(如eth0、wlan0等),`-nn`选项...

    tcpdump-4.9.0-5.el7.x86_64.rpm

    Unix平台网络抓包工具,功能全面,使用简单,界面友好

    Linux运维-03--服务器的高可用-17tcpdump抓vrrp包查看.mp4

    Linux运维-03--服务器的高可用-17tcpdump抓vrrp包查看.mp4

    tcpdump_4.9.tar.gz 免安装,解压后直接在sbin目录下即可执行,网络数据采集分析工具,适用于CentOS7

    在实际使用中,tcpdump提供了丰富的命令行选项,允许用户定制抓包行为。例如,你可以指定监听哪个网络接口(如eth0或lo),过滤特定的网络流量(如只抓取HTTP或FTP协议的数据包),或者限制抓取的数据包数量。命令行...

    linux 抓包工具---Tcpdump

    值得注意的是,由于Tcpdump具有高度的监控能力,涉及敏感信息的抓包操作通常需要root权限执行。同时,合理使用这些工具并尊重用户隐私是网络管理中的重要原则。在实际应用中,网络管理员应根据实际情况,遵循法规和...

    tcpdump-v3.9.8

    例如,`-i`用来指定监听的网络接口,`-n`阻止名字解析以提高性能,`-s`设置抓包的缓冲区大小,而`-c`则限制抓取特定数量的数据包。此外,过滤表达式(如`host`, `port`, `protocol`等)可以帮助精确地筛选需要分析的...

    tcpdump-4.6.2.tar.gz

    在Linux和Unix-like操作系统中,这种格式通常用于分发源代码包,用户需要先解压并编译才能安装。 TcpDump的主要功能是抓取网络流量,它可以捕获通过网络接口发送和接收的所有数据包。这些数据包的“头”部分包含了...

    linux的抓包程序tcpdump及其依赖

    Linux的抓包程序tcpdump是网络诊断和分析的重要工具,它允许系统管理员或开发者捕获网络上的数据包,以便分析网络通信的问题、监控网络活动或者进行安全审计。tcpdump能够解析并显示各种网络协议的数据包详细信息,...

    tcpdump.tar.gz

    在给定的场景中,由于需要在Linux上测试一个HTTP协议伪装的实现,Tcpdump被选用作为抓包工具,因为它的功能强大且灵活,能够满足各种复杂的网络监控需求。 Tcpdump的工作原理基于libpcap库,这是一个开源的跨平台...

    Tcpdump抓包工具免安装版v4.5.1

    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

    Linux运维-运维课程网络基础d3- 路由表与抓包工具使用16tcpdump工具抓包【了解】.mp4

    抓包命令tcpdump.pdf

    tcpdump 命令是用于抓包的强大工具,它可以捕获和显示网络流量的详细信息。在系统管理员和网络工程师中/tcpdump 是一个非常有用的工具,可以帮助他们 debug 网络问题、分析网络流量、检测网络攻击等。 tcpdump 命令...

    arm路由系统下可用的tcpdump抓包工具

    支持在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

    tcpdump rpm安装包.zip

    linux平台对网络上传输的数据包进行捕获的抓包工具: tcpdump-4.5.1-2.el7.x86_64.rpm 网络数据包捕获函数库: libpcap-1.5.3-12.el7.x86_64.rpm

    Linux系统之Tcpdump抓包常见举例分析.docx

    * 文件输入输出参数:-w 将抓包内容保存到指定到文件,并不打印出来;-r 从指定的文件中读取包。 * 其他参数:-n 不把网络地址转换成名字;-nn 不把端口和网络地址转换成名称;-t 在输出的每一行不打印时间戳;-v ...

    linux下抓包:tcpdump

    linux抓包

    tcpdump抓包工具

    使用tcpdump抓包工具,我们可以获取到设备上所有网络接口的传输数据,包括TCP、UDP、ICMP等各种协议的数据包。这些数据包包含了源地址、目标地址、端口号、协议类型、数据内容等关键信息。对于Android开发者来说,这...

    tcpdump抓包

    ### tcpdump抓包详解 #### 一、简介 tcpdump是一款功能强大的网络数据包捕获工具,主要用于在Linux系统上捕获和分析网络流量。它能够实时地从网络设备上捕获数据包,并通过多种过滤条件对数据进行筛选,帮助用户...

Global site tag (gtag.js) - Google Analytics