tcpdump的基本参数说明

虽然像Wireshark(易于掌握)等图形化的抓包工具已经被我们大量使用,但是有的时候tcpdump还是能派上用场,所以我们依然要掌握一些基本的用法和参数

1.tcpdump的参数说明

参数 说明
-n 使用IP地址表示主机,而不是主机名;使用数字表示端口而不是服务名称
-i 指定要监听的网卡接口。”-i any”表示抓取所有网卡上的数据包
-v 输出一个稍微详细的信息,例如显示IP数据包里的TTL和TOS信息
-t 不打印时间戳
-e 显示以太网帧头部信息
-c 只抓取指定数量的数据包
-x 以16进制显示数据包内容
-s 设置抓包时的抓取长度。当数据包的长度超过抓取长度时,tcpdump抓取的将是被截断的数据包
-S 以觉对值来显示TCP报文段的序号
-w 将tcpdump的输出以特殊的格式定向到某个文件中
-r 从文件读取数据包信息并显示

2.tcpdump的基本表达式说明

tcpdump的表达式分为3种,类型(type)方向(dir)和协议(proto)

(1)类型

tcpdump支持的类型包括host,net,port和portrange,他们分别指定主机名(或IP地址),用CIDR方法表示的网络地址,端口号以及端口范围。比如要抓取整个1.2.3.0/255.255.255.0网络上的数据包,可以使用如下命令

tcpdump net 1.2.3.0/24

(2)方向

src指定数据包的发送端dst指定了数据包的目的端。比如要抓取进入端口3333的数据包,可以使用如下命令

tcpdump dst port 3333

(3)协议

指定目标协议,比如要抓取ICMP数据包,可以使用如下命令

tcpdump icmp

3.tcpdump所支持的逻辑操作符

tcpdump支持and,or,not等,比如要抓取主机shreck和所有非leo主机之间交换的IP数据包可以使用如下命令

tcpdump ip host shreck and not leo

如果表达式比较复杂,我们也可以使用括号将他们分组,并且用“’“将他们括住,以免被shell所解释

比如要抓取来自主机10.0.2.4,目标端口是3389或22的数据包,可以使用如下命令

tcpdump ‘src 10.0.2.4 and (dst port 3389 or 22)‘

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-06 03:50:25

tcpdump的基本参数说明的相关文章

linux 系统运维小工具

一 CPU 性能监控工具 1 vmstat ,系统自带 procs 列 :r 列: 表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU核数,说明CPU不足,需要增加CPU,其中的CPU指的是逻辑CPU查看CPU总核数 : b 列表示在等待的资源的进程数目 memory列:swpd:是内存切换到交换分区的量(单位为k),如果swpd值不为0,或者较大,只要si so 长期为0,不会影响系统性能free 表示当前空间的物理内存数量(单位为k)buff 表示buff chache 的内存

网络安全之tcpdump工具

引言 wireshark使用一款非常不错的抓包软件,在图形化界面占绝对统治地位:尽管其在字符界面下有些许选项可供使用,但终究不太方便,下面我再介绍一款NB的终端抓包工具 tcpdump 1.混杂模式 linux的网卡有混杂模式一说,当开启混杂模式后,网卡可以抓取所有的数据包,不管这个包是不是发给自己或自己发出的.由于随意截取别人的数据包存在一定安全问题,因此linux对于网卡默认是关闭混杂模式的,切只有root用户能够开启网卡混杂模式,开启方式: ifconfig ethX promisc 2.

TCP三次握手及tcpdump抓包

1. TCP报文段的首部格式 说明: ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 SYN(SYNchronization) : 在连接建立时用来同步序号.当SYN=1而ACK=0时,表明这是一个连接请求报文.对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此,  SYN置1就表示这是一个连接请求或连接接受报文 FIN (finis)即完,终结的意思, 用来释放一个连接.当 FIN = 1 时,表明此报文段的发送方的数据已经发

linux使用tcpdump抓包工具抓取网络数据包,多示例演示

tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数: tcpdump [-i 网卡] -nnAX '表达式' 各参数说明如下: -i:interface 监听的网卡. -nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和服务. -A:以ascii的方式显示数据包,

Tcpdump命令参数详解

## tcpdump的选项介绍: tcpdump[ -adeflnNOpqStvx ] [-c 数量] [-F 文件名] [-i 网络接口] [-r 文件名] [-s snaplen] [-T 类型] [-w 文件名] [表达式] 各参数说明如下: -a    将网络地址和广播地址转变成名字: -b    在数据-链路层上选择协议,包括ip.arp.rarp.ipx都是这一层的.tcpdump -b arp 将只显示网络中的arp即地址转换协议信息: -c    在收到指定数目的包后,tcpdu

Tcpdump MySQL Query

在MySQL线上环境我们一般只打开了binary log,slow log,有时我们需要查看general log呢?因为该log记录所有的请求,打开该日志肯定给磁盘造成很大压力,IO能力有所下降,所以该日志线上一般不打开的,这就到tcpdump闪亮登场了. tcpdump用法也不算复杂,输出就比较复杂了,如果非常熟悉TCP/IP协议,那么输出对于你来说就是小kiss啦.我们这里只关心MySQL的Query,所以输出还是非常简单,就是日常的查询语句. 1.安装 一般系统都自带了tcpdump命令

Linux 抓包工具 tcpdump

1.概述 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具.?tcpdump可以将网络中传送的数据包的"头"完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linu

tcpdump和ngrep抓不到本机数据包

本机上运行server(nginx)和client(curl),用tcpdump tcp port 80命令抓不到数据包,原因是: 本地环回不经过以太网卡,在用tcpdump加参数 -i lo 来抓本地环回数据. ngrep环回接口数据抓取方法:使用-d lo参数,注意参数的顺序:ngrep -W byline -d lo port 80 注意ngrep使用port 80 而不是tcp port 80,如果用tcp port 80 则无法抓取到数据.

tcpdump抓包分析具体解释

說實在的,對於 tcpdump 這個軟體來說,你甚至能够說這個軟體其實就是個駭客軟體, 因為他不但能够分析封包的流向,連封包的內容也能够進行『監聽』, 假设你使用的傳輸資料是明碼的話,不得了,在 router 上面就可能被人家監聽走了! 非常可怕吶!所以,我們也要來瞭解一下這個軟體啊!(註:這個 tcpdump 必須使用 root 的身份執行) [[email protected] ~]# tcpdump [-nn] [-i 介面] [-w 儲存檔名] [-c 次數] [-Ae] [-qX] [