tcpdump 是一个运行在命令行下的抓包工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。tcpdump 适用于
大多数的类Unix系统操作系统(如linux,BSD等)。类Unix系统的 tcpdump 需要使用libpcap这个捕捉数据的库就像 windows下的WinPcap。
在学习tcpdump前最好对基本网络的网络知识有一定的认识。
tcpdump命令格式及常用参数
Tcpdump的大概形式如下:
例:tcpdump –i eth0 ’port 1111‘ -X -c 3
-X告诉tcpdump命令,需要把协议头和包内容都原原本本的显示出来(tcpdump会以16进制和ASCII的形式显示),这在进行协议分析时是绝对的利器。
tcpdump采用命令行方式,它的命令格式为:
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]
[ -T 类型 ] [ -w 文件名 ] [表达式 ]
tcpdump的选项介绍
-a 将网络地址和广播地址转变成名字;
-d 将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd 将匹配信息包的代码以c语言程序段的格式给出;
-ddd 将匹配信息包的代码以十进制的形式给出;
-e 在输出行打印出数据链路层的头部信息,包括源mac和目的mac,以及网络层的协议;
-f 将外部的Internet地址以数字的形式打印出来;
-l 使标准输出变为缓冲行形式;
-n 指定将每个监听到数据包中的域名转换成IP地址后显示,不把网络地址转换成名字;
-nn: 指定将每个监听到的数据包中的域名转换成IP、端口从应用名称转换成端口号后显示
-t 在输出的每一行不打印时间戳;
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv 输出详细的报文信息;
-c 在收到指定的包的数目后,tcpdump就会停止;
-F 从指定的文件中读取表达式,忽略其它的表达式;
-i 指定监听的网络接口;
-p: 将网卡设置为非混杂模式,不能与host或broadcast一起使用
-r 从指定的文件中读取包(这些包一般通过-w选项产生);
-w 直接将包写入文件中,并不分析和打印出来;
-s snaplen snaplen表示从一个包中截取的字节数。0表示包不截断,抓完整的数据包。默认的话 tcpdump 只显示部分数据包,默认68字节。
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)
-X 告诉tcpdump命令,需要把协议头和包内容都原原本本的显示出来(tcpdump会以16进制和ASCII的形式显示),这在进行协议分析时是绝对的利器。
1、抓取回环网口的包:tcpdump -i lo
2、防止包截断:tcpdump -s0
3、以数字显示主机及端口:tcpdump -n
分享到:
相关推荐
Tcpdump 参数详解 Tcpdump 是一个功能强大的网络嗅探器,能够捕获和显示网络中的数据包。为了更好地使用 Tcpdump,我们需要了解它的各种参数和选项。本文将对 Tcpdump 的参数进行详细的解释。 基本参数 Tcpdump ...
DNS响应时间监控器该脚本实时解析tcpdump的输出(作为连续流或通过在-tcpdump参数中添加-c来作为设置量),以毫秒为单位显示各个DNS请求响应时间(按DNS服务器和IP版本分组(带有服务器统计信息)) 。 请注意,只能...
Linux下的tcpdump是一个强大的网络数据包分析工具,用于捕获并分析网络中的数据包。它可以帮助用户监控网络流量,诊断网络问题,或者进行网络安全审计。tcpdump能够截获网络层的头部信息,提供了丰富的过滤选项,...
通过命令行参数,用户可以指定要监听的网络接口、过滤数据包的规则以及输出的详细程度。 在安装这些RPM包时,通常会使用`rpm`命令,例如: ```bash sudo rpm -ivh libpcap-1.5.3-12.el7.x86_64.rpm sudo rpm -ivh ...
4. **保存捕获数据**:使用`-w abc.pcap`参数,tcpdump可以将捕获的数据保存为PCAP文件( pcap 是一种通用的数据包捕获文件格式)。这种文件可以在以后的时间进行离线分析,也可以用其他工具如Wireshark打开。 5. *...
使用tcpdump时,可以指定监听的网络接口,过滤条件(如特定的IP地址或端口),以及输出文件等参数。 例如,以下命令可以捕获所有通过Wi-Fi接口的数据包,并将结果保存到一个名为"capture.pcap"的文件中: ``` adb ...
命令行参数是tcpdump的强大之处,通过不同的参数组合,你可以定制捕获数据包的方式,例如只捕获特定主机、端口、协议或者满足特定条件的数据包。 以下是一些常用的tcpdump命令行选项: - `-i`:指定监听的网络接口...
参数说明: - `-i any`:指定监听所有网络接口。 - `-nn`:不进行DNS解析,保持IP地址和端口号原始状态。 - `-vv`:增加详细输出,显示更多的调试信息。 - `-S`:显示完整的TCP序列号。 - `-s 0`:设置抓取数据包的...
1. **数据包捕获**:理解tcpdump如何通过libpcap库绑定到特定的网络接口,设置捕获参数,并实时接收数据包。 2. **协议解析**:学习源码中如何解析不同网络层的数据包结构,包括链路层(如Ethernet、PPP等)、网络...
7. **命令行接口**:tcpdump通过命令行提供用户交互,其源码包含了处理命令行参数、输出格式化等功能的实现。 8. **错误处理和调试**:源码中包含了丰富的错误处理和调试机制,可以帮助开发者理解和解决在使用或...
1. **命令行参数**:tcpdump提供了丰富的命令行选项,如`-i`指定监听的网络接口,`-n`禁止DNS解析,`-s`设置抓包大小,`-c`抓取指定数量的数据包后停止,以及使用表达式进行高级过滤(如`host www.example.com`或`...
本文将详细介绍tcpdump的基本用法、参数设置以及表达式的使用方法。 #### 二、tcpdump基础参数 ##### -b 数据链路层协议选择 使用`-b`参数可以选择数据链路层上的协议类型。例如,如果你想捕获ARP(地址解析协议)...
这些规则通常由用户通过命令行参数或表达式来定义,例如指定特定的网络协议、端口号、IP地址等。 tcpdump的主要功能包括: 1. 数据包捕获:可以捕获网络中的任何协议的数据包,如TCP、UDP、ICMP等。 2. 实时显示:...
在使用tcpdump时,理解基本的命令行参数至关重要。例如,`-i`用来指定监听的网络接口,`-n`阻止名字解析以提高性能,`-s`设置抓包的缓冲区大小,而`-c`则限制抓取特定数量的数据包。此外,过滤表达式(如`host`, `...
使用Tcpdump时,可以指定各种参数来控制抓包的行为。例如: - `-i interface`:指定监听的网络接口。 - `-n`:不进行DNS反解析,保留IP地址和端口号,提高效率。 - `-s snapshot_length`:设置每个包的数据截取长度...
在没有指定任何参数的情况下运行`tcpdump`命令,该命令将会监听系统默认的第一个网络接口,并捕获通过该接口的所有数据包: ```sh tcpdump ``` ##### 2.2 监听特定网络接口 可以通过`-i`选项指定需要监听的网络...
`ping详解.doc`文档应该详细解释了ping的工作原理及其参数用法,比如可以使用`-c`参数设置发送的ping请求次数,或者`-s`参数设置发送的数据包大小。 在Linux下进行网络分析时,tcpdump和ping通常结合使用。例如,当...
tcpdump 的使用非常灵活,它通过命令行界面操作,允许用户指定各种参数来控制抓包的行为。例如,你可以指定监听哪个网络接口,过滤特定类型的网络流量,或者将捕获的数据包保存到文件以便后续分析。 以下是一些基本...
本篇将详细介绍 `tcpdump` 的使用方法,包括基本命令格式、捕获控制参数、包显示参数以及过滤表达式。 1. **基本命令格式** 基本的 `tcpdump` 命令格式如下: ``` tcpdump [-包显示格式参数] [-捕获控制参数] '...