概述
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。
tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
tcpdump基于底层libpcap库开发,运行需要root权限。
一、tcpdump安装
环境 虚拟机:vmware 15.5.2 os: ubuntu 12.04
安装tcpdump
sudo apt-get install tcpdump
3. 版本查看
tcpdump --h
tcpdump version 4.0。
libpcap version 1.1.1 表示libpcap的版本。
二、tcpdump参数
常用参数选项说明:
| 参数 | 含义 |
|---|---|
| -a | 将网络地址和广播地址转变成名字 |
| -c | 在收到指定的包的数目后,tcpdump就会停止; |
| -d | 将匹配信息包的代码以人们能够理解的汇编格式给出;以可阅读的格式输出。 |
| -dd | 将匹配信息包的代码以c语言程序段的格式给出; |
| -ddd | 将匹配信息包的代码以十进制的形式给出; |
| -e | 在输出行打印出数据链路层的头部信息; |
| -f | 将外部的Internet地址以数字的形式打印出来; |
| -l | 使标准输出变为缓冲行形式; |
| -n | 直接显示IP地址,不显示名称; |
| -nn | 端口名称显示为数字形式,不显示名称; |
| -t | 在输出的每一行不打印时间戳; |
| -v | 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; |
| -vv | 输出详细的报文信息; |
| -F | 从指定的文件中读取表达式,忽略其它的表达式; |
| -i | 指定监听的网络接口; |
| -r | 从指定的文件中读取包(这些包一般通过-w选项产生); |
| -w | 直接将包写入文件中,并不分析和打印出来; |
| -T | 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单 网络管理协议;) |
三、命令选项使用举例
1. 截获主机收到和发出的所有数据包。
命令:
tcpdump
说明:
tcpdump截取包默认显示数据包的头部。
普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。
基础格式:时间 数据包类型 源IP 端口/协议 > 目标IP 端口/协议 协议详细信息
按下Ctrl+C会终止tcpdump命令。且会在结尾处生成统计信息。
tcpdump 是一款强大的网络数据包分析工具,用于捕获网络流量。本文详细介绍了tcpdump的安装、常用参数、条件过滤、逻辑表达式以及实例应用,包括抓取特定主机间通信、指定端口的数据包,甚至结合Wireshark进行深入分析。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



