tcpdump 命令

简介:

tcpdump命令是一款sniffer工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。

语法

tcpdump (选项)


选项

-a:尝试将网络和广播地址转换成名称; 
-c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作;
-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出; 
-dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出; 
-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出; 
-e:在每列倾倒资料上显示连接层级的文件头; 
-f:用数字显示网际网络地址; 
-F<表达文件>:指定内含表达方式的文件; 
-i<网络界面>:使用指定的网络截面送出数据包; 
-l:使用标准输出列的缓冲区; 
-n:不把主机的网络地址转换成名字; 
-N:不列出域名; 
-O:不将数据包编码最佳化; 
-p:不让网络界面进入混杂模式; 
-q :快速输出,仅列出少数的传输协议信息;
-r<数据包文件>:从指定的文件读取数据包数据; 
-s<数据包大小>:设置每个数据包的大小; 
-S:用绝对而非相对数值列出TCP关联数; 
-t:在每列倾倒资料上不显示时间戳记; 
-tt: 在每列倾倒资料上显示未经格式化的时间戳记; 
-T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型; 
-v:详细显示指令执行过程; 
-vv:更详细显示指令执行过程; 
-x:用十六进制字码列出数据包资料; 
-w<数据包文件>:把数据包数据写入指定的文件。



实例

直接启动tcpdump将监视第一个网络接口上所有流过的数据包

tcpdump


监视指定网络接口的数据包

tcpdump -i eth1

如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。


打印所有进入或离开sundown的数据包。

tcpdump host sundown


也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包

tcpdump host 210.27.48.1


打印helios 与 hot 或者与 ace 之间通信的数据包

tcpdump host helios and \( hot or ace \)


截获主机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 \)


打印ace与任何其他主机之间通信的IP 数据包, 但不包括与helios之间的数据包.

tcpdump ip host ace and not helios


如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:

tcpdump ip host 210.27.48.1 and ! 210.27.48.2


截获主机hostname发送的所有数据

tcpdump -i eth0 src host hostname


监视指定主机和端口的数据包 

如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令

tcpdump tcp port 23 host 210.27.48.1


对本机的udp 123 端口进行监视 123 为ntp的服务端口

tcpdump udp port 123


监视指定网络的数据包 

打印本地主机与Berkeley网络上的主机之间的所有通信数据包

tcpdump net ucb-ether

ucb-ether此处可理解为“Berkeley网络”的网络地址,此表达式最原始的含义可表达为:打印网络地址为ucb-ether的所有数据包 


打印所有通过网关snup的ftp数据包

tcpdump 'gateway snup and (port ftp or ftp-data)'

注意:表达式被单引号括起来了,这可以防止shell对其中的括号进行错误解析 


打印所有源地址或目标地址是本地主机的IP数据包

tcpdump ip and not net localnet

如果本地网络通过网关连到了另一网络,则另一网络并不能算作本地网络。



本文转自 小杨_Ivan 51CTO博客,原文链接:http://blog.51cto.com/aqiang/1895047

相关文章
|
6月前
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
181 0
|
6月前
|
网络协议 Linux
Linux命令(120)之tcpdump
Linux命令(120)之tcpdump
88 0
|
1月前
|
Web App开发 网络协议 数据可视化
tcpdump 和 wireshark 抓包工具 ,介绍、安装、命令使用。 详解三次握手、四次挥手。两个结合使用,会更好分析报文
这篇文章详细介绍了网络抓包工具tcpdump和Wireshark的使用,包括安装、命令选项、过滤器语法,以及如何通过分析TCP的三次握手和四次挥手来理解网络通信细节。
261 1
|
13天前
|
监控 网络协议
tcpdump 常用命令
【10月更文挑战第31天】本文介绍了工作中常用的`tcpdump`命令,通过实例展示了如何使用`tcpdump &#39;port 10000&#39; -i eth0 -S`监控TCP连接的三次握手和四次挥手过程。具体包括服务端和客户端的交互细节,以及每个步骤的详细解释。
53 11
|
3月前
tcpdump抓包命令详解
tcpdump抓包命令详解
|
4月前
|
运维 监控 网络协议
Linux抓包命令tcpdump使用技巧大全
【7月更文挑战第10天】
154 5
Linux抓包命令tcpdump使用技巧大全
|
3月前
|
网络协议 Linux
12条tcpdump命令,腻害的网工,都爱用!
12条tcpdump命令,腻害的网工,都爱用!
|
网络协议 安全 Unix
一文带你掌握Tcpdump命令的使用
一文带你掌握Tcpdump命令的使用
231 0
|
机器学习/深度学习 NoSQL Linux
tcpdump 常用命令
Linux 的命令太多,tcpdump 是一个非常强大的抓包命令。有时候想看线上发生的一些问题:nginx 有没有客户端连接过来……客户端连接过来的时候 Post 上来的数据对不对……
105 0
|
机器学习/深度学习 网络协议 Linux
Linux网络管理之tcpdump命令 – 监听网络流量
tcpdump命令是一款sniffer工具,是linux上的抓包工具,嗅探器;它可以打印出所有经过网络接口的数据包的头信息。
696 0
Linux网络管理之tcpdump命令 – 监听网络流量