tcpdump的入门与使用格式,很好懂

目录

tcpdump简介

tcpdump的使用方式

tcpdump的表达式

proto

dir

type

tcpdump的参数

tcpdump实用命令

参考


tcpdump简介

dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

实际操作来试试看。

在linux上使用:

tcpdump --help

可以看到版本及使用介绍:

在没有任何设置和过滤的情况下试一下,直接使用:

tcpdump

然后发现开始大量打印输出:

这些就是抓到的内容,普通情况下,直接启动tcpdump将默认监视eth0上所有流过的数据包。

下面的示例统一没有加-i,都是默认使用eth0的,如果想监听所有网卡,可以使用

tcpdump -i any

不过因为没有经过筛选,所以数量庞大,没法看的。

下面介绍一些实用的tcpdump命令,来筛选想要的数据。

tcpdump的使用方式

tcpdump采用命令行方式,它的命令格式为:
      tcpdump[ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen] [ -T 类型 ] [ -w 文件名 ] [表达式 ]

下面来介绍一下参数和表达式的定义。

tcpdump的表达式

tcpdump的表达式由一个或多个“表达元”组成。

每个表达元之间由 and 或者 or 或者 not 来连接,可以使用括号 () ,由于括号是shell的特殊字符, 所以在shell脚本或终端中使用时必须对括号进行转义。

比如:

  • tcpdump not 表达元1
  • tcpdump 表达元1 and 表达元2
  • tcpdump 表达元1 and \( 表达元2 or not 表达元3 \)

当然,and 和 && 符号,or 和 || 符号,not 和 ! 符号是等价的。

  • tcpdump ! 表达元1
  • tcpdump 表达元1 && 表达元2
  • tcpdump 表达元1 && \( 表达元2 || ! 表达元3 \)

每个表达元的格式如下:

tcpdump [proto] [dir] [type] 参数id

proto

放到第一个参数的位置,用来描述id所属协议,过滤数据报的类型。

缺省值是监听所有协议的信息包。常用可选值有:

  • fddi
  • ip
  • arp
  • rarp
  • tcp
  • udp

等等。更多的参数说明,请参考关于tcpdump的man page。

dir

用来修饰参数id的方向,即是发送端还是接收端。

可选值有:

  • dst,接收端
  • src,发送端
  • src && dst,发送端并且是接收端
  • src || dst,发送端或者是接收端。也是缺省值

type

用来描述参数id的类型。

  • host(缺省类型): 指明一台主机,如:host 210.27.48.2
  • net: 指明一个网络地址,如:net 202.0.0.0
  • port: 指明端口号,如:port 23
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aiky哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值