tcpdump使用说明
tcpdump用法
tcpdump用法tcpdump是一个功能强大的网络分析工具,能够捕获网络上的数据包,用于网络故障排除、网络性能监控以及网络安全审计等目的。
它支持多种网络协议,支持文本输出和二进制输出。
本文将介绍tcpdump的使用方法,以及它的参数详解。
#### 一、基本用法tcpdump的基本用法非常简单:```tcpdump [options]```它默认以单个模式运行,在一次持续抓包过程中,一直以标准输出格式显示网络数据包,每条信息显示一个数据包信息,直到用户中断或者网络停止发包为止。
#### 二、抓包参数tcpdump参数繁多,但常用参数主要有以下几类:**1.滤参数*** -net据子网抓包,支持IPv4和IPv6,比如`-net192.168.1.0/24`* -host据网络主机抓包,支持IPv4和IPv6,比如`-host 192.168.1.1`* -port据端口号抓包,比如`-port 80`**2.示参数*** -X示数据包的十六进制与ASCII文本,通常用于检测网络攻击和病毒* -v示更详细的抓取信息,比如IP地址、端口号等* -vv示更详细的抓取信息,同时把协议中的详细信息也显示出来**3.能参数*** -r 以二进制文件的方式读取已保存的抓包数据,一般用于进行离线分析* -w 以二进制文件的方式将抓取的数据保存下来,方便以后分析* -c定抓包的数量,比如`-c 1000`表示只抓前1000条数据包 #### 三、高级用法tcpdump还支持一些高级参数,用于更加精确的抓包,主要有:**1.络接口*** -i定抓包的网络接口,比如`-i eth0`表示从eth0接口抓包 * -B定抓包的带宽,比如`-B 500K`表示最高抓取500K的数据 **2.滤表达式*** -e取数据的过滤表达式,比如`-e tcp[14:2]==0x0514`表示过滤TCP标志和序号为0x0514的数据包* -d取数据的过滤表达式,等效于-e参数**3.符编码*** -n取数据时,不解析DNS和hostname* -t 不显示时间戳* -S示源地址和目的地址* -c定抓取数据包个数* -q 以简单的形式显示,不显示协议头信息####、实战以抓取IP地址为192.168.1.1的80端口的HTTP请求为例,使用tcpdump命令如下:```tcpdump -i eth0 -nn -s 0 -XS host 192.168.1.1 and port 80```以上命令的含义为,从网卡eth0接口上抓取长度为0的数据包,目标地址为192.168.1.1,且端口号为80的数据包,并以十六进制与ASCII格式显示出来。
tcpdump使用方法
tcpdump使用方法tcpdump是一种网络封包分析工具,使用命令行界面进行操作。
它可以监听网络接口传输的数据包,并将其显示在终端上。
tcpdump是一个功能强大的工具,可以用于网络排错、协议分析、安全审计等多种用途。
下面将详细介绍tcpdump的使用方法。
1. 安装tcpdump```sudo apt-get install tcpdump```2. 使用tcpdump命令```sudo tcpdump [options] [expression]```其中,options是一些可选项,expression是过滤器表达式。
3.监听所有网络接口使用tcpdump监听所有网络接口的数据包,可以使用以下命令:```sudo tcpdump```这将显示所有接口传输的数据包。
4.监听指定网络接口使用tcpdump监听指定网络接口的数据包,可以使用以下命令:```sudo tcpdump -i eth0```这将监听名为eth0的网络接口的数据包。
5.保存数据包到文件使用tcpdump将捕获到的数据包保存到文件,可以使用以下命令:```sudo tcpdump -w output.pcap```这将将数据包保存到名为output.pcap的文件中。
6.读取保存的数据包文件使用tcpdump读取保存的数据包文件,可以使用以下命令:```sudo tcpdump -r input.pcap```这将读取名为input.pcap的文件中的数据包。
7.过滤数据包使用tcpdump可以根据特定的条件对数据包进行过滤,只显示满足条件的数据包。
以下是一些常用的过滤器表达式示例:-过滤源IP地址:```sudo tcpdump src 192.168.1.1```-过滤目标IP地址:```sudo tcpdump dst 192.168.1.1```-过滤源和目标IP地址:```sudo tcpdump host 192.168.1.1```-过滤指定端口:```sudo tcpdump port 80```-过滤指定协议:```sudo tcpdump icmp```8.显示数据包详细信息使用tcpdump可以显示每个数据包的详细信息。
tcpdump用法
tcpdump用法tcpdump用法 1 是信息安全领域常用的嗅探和网络分析工具,运行在命令行下。
虽然要用好它需要对 TCP/IP 协议有足够的了解,但从另一个角度讲,多用一下同样也能促进对网络协议的掌握。
大部分 Linux 发行版都内置了 tcpdump用法 1 工具。
如果没有,也可以直接使用对应的包管理器进行安装(如:$ sudo apt-get install tcpdump 和 $ sudo yum install tcpdump)一、命令选项•-i any:监听所有网络接口•-i eth0:监听指定的网络接口(eth0)•-D:列出所有可用的网络接口•-n:不解析主机名•-nn:不解析主机名和端口名•-q:输出较少的信息•-t:更便于阅读的时间戳输出•-tttt:最便于阅读的时间戳输出•-X:以 HEX 和 ASCII 模式输出数据包的内容•-XX:与 -X 选项相同,同时还输出 ethernet 头•-v, -vv, -vvv:输出更多数据包的信息•-c:获取到指定数目的数据包后就停止•-s:定义 snaplength (size) ,-s0 表示获取全部•-S:输出绝对序列号•-e:获取 ethernet 头信息•-E:通过提供 key 来解密 IPSEC 流量二、表达式通过表达式可以对各种不同类型的网络流量进行过滤,以获取到需要的信息。
这也是 tcpdump 强大功能的一个体现。
主要有 3 种类型的表达式:•Type(类型)选项包括 host 、net 和 port•Direction(方向)选项包括 src 和 dst 以及它们的组合•Proto(协议)包括 tcp 、udp 、ICMP 和 ah 等三、应用实例指定网络接口:# tcpdump -i <dev>-i 指定监听接口vboxnet0 是 virtualvox 虚拟机通过 Host-only 方式虚拟的一张网卡原始信息输出模式:# tcpdump -ttttnnvvS更详细的输出,不解析主机名和端口名,使用绝对序列号,方便阅读的时间戳tcpdump通过IP地址过滤:# tcpdump host 10.2.64.1tcpdump host10.2.64.1 是我的 DNS 服务器地址HEX 输出# tcpdump -nnvXSs 0 -c1 icmptcpdump HEX 输出通过源地址和目标地址进行过滤# tcpdump src 10.2.67.203tcpdump src# tcpdump dst 10.2.67.203tcpdump dst通过子网进行过滤# tcpdump net 10.2.64.0/24tcpdump net监听指定端口号# tcpdump port 515tcpdump port515 是本地打印机 LPD 服务的端口号指定协议# tcpdmp icmptcpdump icmp端口范围# tcpdump portrange 21-23通过包大小过滤# tcpdump less 32# tcpdump greater 64# tcpdump <= 128写入 PCAP 文件# tcpdump port 80 -w capture_>读取 PCAP 文件# tcpdump -r capture_>四、高级功能1. 逻辑运算符.•AND(and 或 &)•OR(or 或 ||)•EXCEPT (not 或 !)# tcpdump src 10.2.64.29 and dst port 80即捕捉从指定主机(10.2.64.92)发出,且目标端口为 80 的所有网络数据# tcpdump src net 192.168.0.0/16 and dst net10.0.0.0/8 or 172.16.0.0/16即捕捉从指定子网(192.168.0.0/16)发送到目标子网(10.0.0.0/8 和172.16.0.0/16)的所有网络数据# tcpdump src 192.168.56.1 and not dst port 22即捕捉从指定主机(192.168.56.1)发出,且目标端口不为 22 的所有网络数据2. 指定 TCP 标志位(Flags)# tcpdump 'tcp[13] & 32!=0' 所有 URGENT (URG) 包# tcpdump 'tcp[13] & 16!=0' 所有 ACKNOWLEDGE (ACK) 包# tcpdump 'tcp[13] & 8!=0' 所有 PUSH (PSH) 包# tcpdump 'tcp[13] & 4!=0' 所有 RESET (RST) 包# tcpdump 'tcp[13] & 2!=0' 所有 SYNCHRONIZE (SYN) 包# tcpdump 'tcp[13] & 1!=0' 所有 FINISH (FIN) 包# tcpdump 'tcp[13]=18' 所有SYNCHRONIZE/ACKNOWLEDGE (SYNACK) 包其他指定标志位的方式如:# tcpdump 'tcp[tcpflags] == tcp-syn'# tcpdump 'tcp[tcpflags] == tcp-fin'一些特殊的用法# tcpdump 'tcp[13] = 6' RST 和 SYN 同时启用的数据包(不正常)# tcpdump 'tcp[32:4] = 0x' 获取http GET 请求的文本# tcpdump 'tcp[(tcp[12]>>2):4] =0x' 获取任何端口的 ssh 连接(通过 banner 信息)# tcpdump 'ip[8] < 10' ttl 小于 10 的数据包(出现问题或traceroute 命令)# tcpdump 'ip[6] & 128 != 0' 非常有可能是黑客入侵的情况tcpdump http GET参考文章:A tcpdump Tutorial and Primer with Examples。
tcpdump命令详解
tcpdump命令详解⼀、tcpdump简介tcpdump命令是基于unix系统的命令⾏的数据报嗅探⼯具,可以抓取流动在⽹卡上的数据包。
它的原理⼤概如下:linux抓包是通过注册⼀种虚拟的底层⽹络协议来完成对⽹络报⽂(准确的是⽹络设备)消息的处理权。
当⽹卡接收到⼀个⽹络报⽂之后,它会遍历系统中所有已经注册的⽹络协议,如以太⽹协议、x25协议处理模块来尝试进⾏报⽂的解析处理。
当抓包模块把⾃⼰伪装成⼀个⽹络协议的时候,系统在收到报⽂的时候就会给这个伪协议⼀次机会,让它对⽹卡收到的保温进⾏⼀次处理,此时该模块就会趁机对报⽂进⾏窥探,也就是啊这个报⽂完完整整的复制⼀份,假装是⾃⼰接收的报⽂,汇报给抓包模块。
⼆、语法1、查看本地⽹卡状态[root@cnetos daocoder]# netstat -iKernel Interface tableIface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flgdocker0 1500 40409 0 0 0 20376 0 0 0 BMUens5f0 1500 22999894941 0 0 0 25581016784 0 0 0 BMRUlo 65536 850291094 0 0 0 850291094 0 0 0 LRUIface:存在的⽹卡。
MTU:最⼤传输单元。
RX-OK RX-ERR RX-DRP RX-OVR:正确接收数据报的数量以及发⽣错误、流式、碰撞的总数。
TX-OK TX-ERR TX-DRP TX-OVR:正确发送数据报的数量以及发⽣错误、流式、碰撞的总数。
2、tcpdump帮助命令[root@centos daocoder]# tcpdump --helptcpdump version 4.9.0libpcap version 1.5.3OpenSSL 1.0.1e-fips 11 Feb 2013Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ][ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ][ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ][ -Q|-P in|out|inout ][ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ][ --immediate-mode ] [ -T type ] [ --version ] [ -V file ][ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ][ -Z user ] [ expression ](1)、类型的关键字host:指明⼀台主机。
tcpdump常用命令用法
tcpdump常用命令用法tcpdump是一个常用的网络抓包工具,可以用来分析网络流量,下面是一些常见的tcpdump命令用法:1. 抓取指定网卡的所有流量:```tcpdump -i eth0```这里的eth0是网卡的名称,可以根据实际情况替换。
2. 抓取指定源IP和目标IP的流量:```tcpdump src <source_ip> and dst <destination_ip>```source_ip和destination_ip分别是源IP和目标IP地址。
3. 抓取指定端口的流量:```tcpdump port <port_number>```port_number是要抓取的端口号。
4. 抓取指定协议的流量:```tcpdump -v icmp```这里的icmp是要抓取的协议,可以是icmp、tcp、udp等。
5. 抓取指定主机的流量:```tcpdump host <hostname>```hostname是要抓取的主机名。
6. 抓取指定长度的流量:```tcpdump less <length>```length是要抓取的数据包长度。
7. 将抓包结果保存到文件中:```tcpdump -w <output_file>```output_file是保存抓包结果的文件名。
8. 从文件中读取抓包结果进行分析:```tcpdump -r <input_file>```input_file是要读取的抓包结果文件名。
这些命令用法只是tcpdump的一部分功能,更详细的使用方法可以参考tcpdump的帮助文档。
tcpdump常用抓包命令
tcpdump常用抓包命令一、什么是tcpdumptcpdump是一款用于抓取网络数据包的功能强大的命令行工具。
它可以通过监听网络接口,捕获和分析传输过程中的数据包,对网络问题进行排查和故障分析。
二、安装tcpdump在大多数Linux发行版中,tcpdump已经默认安装。
如果您的系统没有预装tcpdump,可以通过以下命令进行安装:sudo apt-get install tcpdump # Debian/Ubuntusudo yum install tcpdump # CentOS/RHEL三、tcpdump的基本用法1. 抓取数据包使用tcpdump进行抓包非常简单,只需要在命令行中输入tcpdump命令即可开始捕获所有的数据包。
tcpdump2. 指定网络接口如果有多个网络接口可以选择,可以使用-i参数指定要监听的网络接口。
例如,要监听eth0接口的数据包,可以使用以下命令:tcpdump -i eth03. 保存捕获的数据包默认情况下,tcpdump会将捕获的数据包输出到标准输出。
如果需要将数据包保存到文件中,可以使用-w参数指定文件名。
例如,将数据包保存到capture.pcap文件中:tcpdump -w capture.pcap4. 显示捕获的数据包内容通过默认设置,tcpdump只会以十六进制格式显示捕获的数据包。
如果想要查看更多的信息,可以使用-A参数以ASCII格式显示数据包内容。
例如:tcpdump -A5. 显示源和目标IP地址如果只需要查看数据包的源和目标IP地址,而不关心其他详细内容,可以使用-n 参数。
例如:tcpdump -n四、高级用法1. 指定抓包数量默认情况下,tcpdump会一直抓包直到用户终止程序。
如果只需要抓取固定数量的数据包,可以使用-c参数指定要抓取的包数量。
例如,只抓取10个数据包:tcpdump -c 102. 使用过滤器tcpdump可以使用过滤器来指定要抓取的数据包的条件。
tcpdump使用方法
tcpdump使用方法一、什么是tcpdumptcpdump是一种在Linux和Unix操作系统上使用的网络抓包工具。
它可以捕获网络数据包并将其显示或保存到文件中,以供后续分析和诊断。
tcpdump可以用于调试网络问题、监视网络流量、分析网络协议等。
二、安装tcpdump1.在Ubuntu上安装tcpdump:sudo apt-get install tcpdump2.在CentOS上安装tcpdump:sudo yum install tcpdump三、基本用法1.捕获所有数据包:sudo tcpdump -i eth0-i选项指定要监听的接口,eth0为网卡接口名称。
2.捕获指定端口的数据包:sudo tcpdump -i eth0 port 80port选项指定要监听的端口号,80为HTTP服务默认端口号。
3.捕获指定IP地址的数据包:sudo tcpdump -i eth0 host 192.168.1.100host选项指定要监听的IP地址,192.168.1.100为目标IP地址。
4.捕获指定协议类型的数据包:sudo tcpdump -i eth0 icmpicmp为ICMP协议类型。
5.捕获指定源IP地址和目标IP地址之间的数据包:sudo tcpdump -i eth0 src 192.168.1.100 and dst 192.168.1.200 src选项指定源IP地址,dst选项指定目标IP地址。
6.保存抓包结果到文件:sudo tcpdump -i eth0 -w capture.pcap-w选项指定保存到文件的名称,capture.pcap为文件名。
7.读取保存的抓包结果:sudo tcpdump -r capture.pcap-r选项指定读取文件的名称,capture.pcap为文件名。
四、高级用法1.显示数据包详细信息:sudo tcpdump -i eth0 -v-v选项可以显示更详细的信息,如源地址、目标地址、协议类型等。
最全的tcpdump使用详解
最全的tcpdump使⽤详解简介⽤简单的话来定义tcpdump,就是:dump the traffic on a network,根据使⽤者的定义对⽹络上的数据包进⾏截获的包分析⼯具。
tcpdump可以将⽹络中传送的数据包的“头”完全截获下来提供分析。
它⽀持针对⽹络层、协议、主机、⽹络或端⼝的过滤,并提供and、or、not等逻辑语句来帮助你去掉⽆⽤的信息。
实⽤命令实例默认启动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监视所有送到主机hostname的数据包tcpdump -i eth0 dst host hostname监视指定主机和端⼝的数据包如果想要获取主机210.27.48.1接收或发出的telnet包,使⽤如下命令tcpdump tcp port 23 and host 210.27.48.1对本机的udp 123 端⼝进⾏监视 123 为ntp的服务端⼝tcpdump udp port 123监视指定⽹络的数据包打印本地主机与Berkeley⽹络上的主机之间的所有通信数据包(nt: ucb-ether, 此处可理解为'Berkeley⽹络'的⽹络地址,此表达式最原始的含义可表达为: 打印⽹络地址为ucb-ether的所有数据包)tcpdump net ucb-ether打印所有通过⽹关snup的ftp数据包(注意, 表达式被单引号括起来了, 这可以防⽌shell对其中的括号进⾏错误解析)tcpdump 'gateway snup and (port ftp or ftp-data)'打印所有源地址或⽬标地址是本地主机的IP数据包(如果本地⽹络通过⽹关连到了另⼀⽹络, 则另⼀⽹络并不能算作本地⽹络.(nt: 此句翻译曲折,需补充).localnet 实际使⽤时要真正替换成本地⽹络的名字)tcpdump ip and not net localnet监视指定协议的数据包打印TCP会话中的的开始和结束数据包, 并且数据包的源或⽬的不是本地⽹络上的主机.(nt: localnet, 实际使⽤时要真正替换成本地⽹络的名字))tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'打印所有源或⽬的端⼝是80, ⽹络层协议为IPv4, 并且含有数据,⽽不是SYN,FIN以及ACK-only等不含数据的数据包.(ipv6的版本的表达式可做练习)tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'(nt: 可理解为, ip[2:2]表⽰整个ip数据包的长度, (ip[0]&0xf)<<2)表⽰ip数据包包头的长度(ip[0]&0xf代表包中的IHL域, ⽽此域的单位为32bit, 要换算成字节数需要乘以4, 即左移2. (tcp[12]&0xf0)>>4 表⽰tcp头的长度, 此域的单位也是32bit, 换算成⽐特数为 ((tcp[12]&0xf0) >> 4) << 2, 即 ((tcp[12]&0xf0)>>2). ((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0 表⽰: 整个ip数据包的长度减去ip头的长度,再减去tcp头的长度不为0, 这就意味着, ip数据包中确实是有数据.对于ipv6版本只需考虑ipv6头中的'Payload Length' 与 'tcp头的长度'的差值, 并且其中表达⽅式'ip[]'需换成'ip6[]'.)打印长度超过576字节, 并且⽹关地址是snup的IP数据包tcpdump 'gateway snup and ip[2:2] > 576'打印所有IP层⼴播或多播的数据包,但不是物理以太⽹层的⼴播或多播数据报tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'打印除'echo request'或者'echo reply'类型以外的ICMP数据包( ⽐如,需要打印所有⾮ping 程序产⽣的数据包时可⽤到此表达式 .(nt: 'echo reuqest' 与 'echo reply' 这两种类型的ICMP数据包通常由ping程序产⽣))tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'tcpdump 与wiresharkWireshark(以前是ethereal)是Windows下⾮常简单易⽤的抓包⼯具。
tcpdump的用法
tcpdump的用法tcpdump是一个用于网络数据包分析的工具,它可以捕获和显示经过计算机网络的数据包。
以下是一些常用的tcpdump用法和示例:1. 基本语法:```tcpdump [选项] [表达式]```2. 显示所有网络接口的数据包:```tcpdump -i any```3. 指定网络接口进行数据包捕获:```tcpdump -i eth0```4. 指定捕获的数据包数量:```tcpdump -c 10```5. 指定捕获的数据包字节数量:```tcpdump -s 100```6. 指定捕获的数据包大小限制:```tcpdump -s0 -w output.pcap```7. 指定捕获的数据包方向(in、out、in/out): ```tcpdump -i eth0 'src host 192.168.0.1'```8. 指定捕获的数据包源IP地址和目的端口: ```tcpdump 'src host 192.168.0.1 and dst port 80' ```9. 指定捕获的数据包协议类型:```tcpdump icmp```10. 指定捕获的数据包之外的其他数据包:```tcpdump not icmp```11. 将数据包捕获结果保存为文件:```tcpdump -w output.pcap```12. 从文件中读取数据包进行分析:```tcpdump -r input.pcap```以上是tcpdump的一些常用用法和示例,你可以根据实际需求进行调整和组合使用。
请注意,tcpdump需要以root用户或具有特殊权限的用户身份运行。
linux tcpdump命令使用
linux tcpdump命令使用
tcpdump是一个基于命令行的网络数据包分析工具,它可以截获网络接口上的数据包,并进行实时的分析和展示。
以下是关于tcpdump 命令的使用方法:
1. 基本语法:tcpdump [选项] [过滤条件]
2. 查看所有网络接口:tcpdump -D
3. 监听指定网络接口:tcpdump -i [接口名]
4. 指定监听的数据包数量:tcpdump -c [数据包数量]
5. 以十进制形式显示数据包内容:tcpdump -X
6. 以十六进制形式显示数据包内容:tcpdump -XX
7. 显示过滤结果时加上时间戳:tcpdump -tttt
8. 只显示源IP地址和目的IP地址:tcpdump -n
9. 设置抓取的数据包大小:tcpdump -s [大小]
10. 过滤特定源IP地址:tcpdump src [IP地址]
11. 过滤特定目的IP地址:tcpdump dst [IP地址]
12. 过滤特定源端口:tcpdump src port [端口号]
13. 过滤特定目的端口:tcpdump dst port [端口号]
14. 过滤特定协议:tcpdump [协议名称]
15. 组合多个过滤条件:tcpdump [过滤条件1] and [过滤条件2]
以上是tcpdump命令的一些常用选项和过滤条件。
通过使用这些选项和过滤条件,可以根据需求捕获和分析特定的网络数据包。
tcpdump命令使用
tcpdump 命令使⽤tcpdump 命令使⽤tcpdump命令参数解析1.option 可选参数:能够控制tcpdump 命令,⽐如是否解析域名,将结果输出到⽂件,或者从⽂件读包数据,以及打印格式等。
2.protocol 协议过滤:能够根据不同的协议进⾏过滤,常⽤的已经上⾯了。
3.direction ⽅向过滤:能够根据数据的流向来进⾏过滤,也就是src 和dst ,也可以是两者。
4. type 类型过滤:能够根据不同的类型进⾏过滤。
tcpdump 输出结构这是直接不使⽤参数得到的其中⼀条输出1. 第⼀列:代表时间,分别是时分秒毫秒 22:21:43.500014。
2. 第⼆列:代表⽹络协议 IP 。
3. 第三列:代表发送的⽅的地址(IP+port ),其中10.21.11.47是IP ,⽽http 是端⼝,在tcpdump 中http 就代表80端⼝,所以也就是10.21.11.47.80,后⾯可以使⽤-nn 参数来关闭转换。
4. 第四列:代表数据流向,可以看出是10.21.11.47.http 发送数据到11.0.85.18.51352。
5. 第五列:代表接收⽅的地址,格式同第三列,可以看出这次商品是51352。
6. 第六列:代表分隔,冒号。
7. 第七列:代表数据包的相关内容。
包括Flags 标识符,seq 号,ack 号,win 窗⼝⼤⼩,数据长度length ,通信协议HTTP 等。
Flag 标识符[S]:代表SYN ,同步标记,⼀般是在建⽴连接时使⽤,也就是TCP 三次握⼿时使⽤。
[.]:代表没有Flags ,但是除了SYN 包外所有的数据包都有ACK ,所以这个标记也可以代表ACK 。
[P]:代表PUSH ,推送数据,发送⽅通过使⽤PUSH 位来通知接收⽅将所有收到的数据⽴即提交给服务器进程,⽽不需要等待额外数据(将缓存填满)⽽让数据在缓存中停留!这⾥所说的数据包括与此PUSH 包⼀起传输的数据以及之前就为该进程传输过来的数据(滞留在缓存中的数据)。
tcpdump 使用方法
tcpdump 使用方法TCPDump是在Uni某和Linu某系统中用于抓取网络数据包的命令行工具。
它能够监听指定的网络接口,捕获网络流量并对数据包进行分析。
下面将详细介绍TCPDump的使用方法。
1.安装和权限:TCPDump是一款系统级工具,需要root权限才能运行。
因此,你需要以root用户身份安装和运行TCPDump。
在大多数Linu某发行版中,你可以使用以下命令安装:```sudo apt install tcpdump```如果你尚未获得root权限,可以使用sudo命令。
2.基本语法:TCPDump的基本语法如下:``````- options为可选参数,用于指定各种选项和过滤条件。
- e某pression为可选的过滤条件,用于指定捕获的数据包的特征。
3.监听网络接口:使用TCPDump抓取网络数据包前,你需要先选择要监听的网络接口。
通过以下命令可以列出所有可用的网络接口:``````然后,使用以下命令监听指定的网络接口:``````这里的<interface>为网络接口的名称,例如eth0或wlan0。
4.捕获网络流量:使用TCPDump抓取网络数据包非常简单。
只需运行以下命令即可将所有数据包输出到终端:``````这将捕获指定网络接口上的所有数据包,并以逐个数据包的形式输出到终端。
5.符合过滤条件的数据包:TCPDump支持多种过滤条件,以便只捕获符合特定条件的数据包。
例如,你可以使用以下命令仅捕获源或目标IP地址为192.168.1.100的数据包:```这将只输出符合过滤条件的数据包。
6.保存数据包到文件:TCPDump可以将捕获的数据包保存到文件中,以便以后分析。
使用以下命令可以将数据包保存到指定的文件中:``````这将将捕获的数据包写入指定文件中。
7.读取保存的数据包文件:可以使用TCPDump读取保存的数据包文件并分析其中的数据包。
使用以下命令从文件中读取数据包:``````这将逐个输出文件中的数据包。
tcpdump 参数
tcpdump常用参数说明
(一)、学习tcpdump的5个参数初次使用tcpdump时,使用tcpdump -h 命令可以看到它有数十个参数。
根据我们在运维工作中的经验,掌握tcpdump以下5个参数即可满足大部分的工作需要了。
❶-i参数。
使用-i参数指定需要抓包的网卡。
如果未指定的话,tcpdump会根据搜索到的系统中状态为UP的最小数字的网卡确定,一般情况下是eth0。
使用-i参数通过指定需要抓包的网卡,可以有效的减少抓取到的数据包的数量,增加抓包的针对性,便于后续的分析工作。
❷-nnn参数。
使用-nnn参数禁用tcpdump展示时把IP、端口等转换为域名、端口对应的知名服务名称。
这样看起来更加清晰。
❸-s参数。
使用-s参数,指定抓包的包大小。
使用-s 0指定数据包大小为262144字节,可以使得抓到的数据包不被截断,完整反映数据包的内容。
❹-c参数。
使用-c参数,指定抓包的数量。
❺-w参数。
使用-w参数指定抓包文件保存到文件,以便后续使用Wireshark 等工具进行分析。
TCPDUMP命令详解
TCPDUMP命令详解⼯作中⼀直在⽤tcpdump,感觉⾮常⽅便,今天⼼⾎来潮百度了⼀下tcpdump的⽤法,才发现原来还有这么多强⼤的功能⾃⼰都不知道,那叫⼀个汗啊。
废话不多说,切⼊正题。
命令及解释⽤红⾊字体,命令所需参数的参数值⽤斜体标⽰。
先来看⼀个⽐较基本的⽤法:tcpdump -i eth0其中,eth0为参数值,表⽰需要抓包的⽹⼝,这是个必需参数哦。
tcpdump⽀持很多的关键字,下⾯先看⼏个例⼦:(例1)tcpdump -i eth0 host 192.168.0.250 -----在⽹⼝eth0上抓取主机地址为192.168.0.250的所有数据包。
(例2)tcpdump -i eth0 net 192.168.0.0/24 ------ 在⽹⼝eth0上抓取⽹络地址为192.168.0.0/24的所有数据包(例3)tcpdump -i eth0 port 80 ------ 在⽹⼝eth0上抓取端⼝为80的所有数据包(注意,这⾥不区分是源端⼝还是⽬的端⼝)当然,我们也可以指定源端⼝或⽬的端⼝(例4)tcpdump -i eth0 src port 80 and dst port6100 --- 在⽹⼝eth0上抓取源端⼝为80且⽬的端⼝为6100的数据包,这⾥⽤到了and逻辑运算符,后⾯再介绍(例5)tcpdump -i eth0 icmp --- 在⽹⼝eth0上抓取所有icmp协议的数据包以上⼏个例⼦,可以⼤致体现出tcpdump的基本⽤法。
实际上,tcpdump主要包括三种类型的关键字,第⼀种是关于类型的关键字,主要包括host,net,port,如上⾯的例(1)(2)(3),第⼆种是确定传输⽅向的关键字,主要包括src,dst,src or dst,src and dst,这些关键字指明了传输的⽅向,如上⾯的例(4)。
第三种是协议关键字,包括fddi,ip,arp,rarp,tcp,udp,imcp等,如上⾯的例(5)。
tcpdump常用抓包命令
tcpdump常用抓包命令TCPDump是一个基于命令行的抓包工具,它可以帮助网络管理员和安全专家捕获和分析数据包。
在网络故障排除、网络性能分析和网络安全检测等方面都有着广泛的应用。
本文将介绍TCPDump的常用抓包命令。
一、基本使用1.抓取指定网卡的数据包tcpdump -i eth0-i选项后面跟要抓取数据包的网卡名称,这里以eth0为例。
2.保存抓取到的数据包tcpdump -i eth0 -w capture.pcap-w选项后面跟要保存数据包的文件名,这里以capture.pcap为例。
3.读取已保存的数据包文件tcpdump -r capture.pcap-r选项后面跟要读取的数据包文件名,这里以capture.pcap为例。
二、过滤器使用1.根据IP地址过滤数据包tcpdump host 192.168.1.1host选项后面跟要过滤的IP地址,这里以192.168.1.1为例。
2.根据端口号过滤数据包tcpdump port 80port选项后面跟要过滤的端口号,这里以80为例。
3.根据协议类型过滤数据包tcpdump icmpicmp表示Internet控制报文协议。
4.组合使用多个条件进行过滤tcpdump host 192.168.1.1 and port 80and表示“与”的关系,即同时满足两个条件。
tcpdump host 192.168.1.1 or port 80or表示“或”的关系,即满足其中一个条件即可。
5.使用逻辑运算符进行复杂过滤tcpdump 'src net 192.168.1 and (dst net 10 or dst net 172)'这里使用了括号和逻辑运算符进行复杂的过滤,筛选出源IP地址为192.168.1开头,目的IP地址为10或172开头的数据包。
三、高级使用1.抓取指定数量的数据包tcpdump -c 100-c选项后面跟要抓取的数据包数量,这里以100为例。
tcpdump 高级用法
Tcpdump是一款在Linux和UNIX系统中的数据包捕获工具,可以对网络数据进行实时分析和嗅探,提供对网络流量的详细解析。
以下是一些tcpdump的高级用法:
1. 过滤器:tcpdump支持使用过滤器来过滤要捕获的数据包。
可以使用不同的参数和语法来指定过滤条件,例如:
-i:指定要监听的网络接口。
-s:指定要截断的数据包大小。
host:指定要监听的主机名或IP地址。
port:指定要监听的端口号。
2. 统计:可以使用tcpdump来统计网络流量和数据包的数量。
可以使用“-c”参数来指定要捕获的数据包数量,也可以使用“-G”参数来指定捕获数据包的时间间隔。
3. 保存数据:可以使用“-w”参数将捕获的数据包保存到文件中,以便后续分析。
可以使用“-r”参数来读取保存的数据包文件,并对其进行分析。
4. 解析数据包:tcpdump可以解析各种网络协议的数据包,例如TCP、UDP、ICMP等。
可以使用“-A”参数来将数据包内容以ASCII码形式呈现。
5. 显示时间戳:可以使用“-tttt”参数显示数据包的时间戳。
6. 逆向DNS查询:可以使用“-n”参数来关闭tcpdump的DNS查询功能,同时使用“-nn”参数可以关闭逆向DNS查询。
7. 切换到root用户:tcpdump需要root权限才能正常运行。
可以使用“sudo”命令或者切换到root用户来运行tcpdump。
这些是tcpdump的一些高级用法,您可以尝试使用这些参数和语法来捕获和分析网络数据包。
但请注意,在使用tcpdump时应遵守相关的法律法规,并避免非法监听他人的网络流量。
tcpdump使用手册
tcpdump使用手册摘要:1.tcpdump 简介2.tcpdump 基本语法3.tcpdump 的高级特性4.tcpdump 的实际应用5.tcpdump 的未来发展正文:【1.tcpdump 简介】Tcpdump 是一种网络协议分析工具,它可以用来捕获、分析和解码网络数据包。
Tcpdump 最早由Eric Allman 开发,现在由OpenBSD 项目进行维护。
它可以运行在各种操作系统上,包括Linux、FreeBSD 和Windows。
【2.tcpdump 基本语法】Tcpdump 的基本语法非常简单,它主要包括以下几个选项:- -i:指定网络接口- -n:不解码主机名和服务名- -v:显示详细信息- -c:显示统计信息- -w:将数据包保存到文件中例如,如果你想在eth0 接口上捕获数据包,并保存到file.pcap 文件中,可以使用以下命令:```tcpdump -i eth0 -w file.pcap```【3.tcpdump 的高级特性】除了基本语法,Tcpdump 还提供了许多高级特性,包括:- 过滤:可以使用BPF 过滤器和正则表达式过滤数据包- 解码:可以解码多种协议,如TCP、UDP、ICMP 等- 实时分析:可以实时分析数据包,并显示分析结果- 导出:可以将数据包导出为多种格式,如pcap、pcapng、json 等【4.tcpdump 的实际应用】Tcpdump 广泛应用于网络故障排除、网络安全分析和网络协议研究等领域。
例如,可以用Tcpdump 捕获某个端口的所有数据包,然后分析数据包,以确定是否存在异常流量。
【5.tcpdump 的未来发展】随着网络技术的不断发展,Tcpdump 也在不断更新和完善。
tcpdump命令用法
tcpdump命令用法1. 什么是tcpdump命令tcpdump是一款非常强大的网络抓包工具,可以在Linux和UNIX系统上使用。
它能够捕获和分析网络数据包,提供了详细且全面的网络流量信息,对于网络调试和故障排除非常有帮助。
2. tcpdump的基本用法2.1 安装tcpdump在大部分Linux发行版上,tcpdump已经预装,可以直接使用。
如果没有安装,可以使用以下命令进行安装:sudo apt-get install tcpdump2.2 tcpdump的基本语法tcpdump [options] [filters]其中,options是可选参数,用来指定一些tcpdump的行为和输出格式;filters 是可选参数,用来过滤捕获的数据包。
2.3 常用选项参数以下是一些常用的选项参数:•-i: 指定网络接口,如-i eth0表示使用eth0接口进行抓包。
•-c: 指定抓包数量,如-c 10表示只抓取10个数据包。
•-n: 不解析IP地址和端口号,直接显示IP地址和端口号,提高抓包效率。
•-w: 将抓包结果保存到文件中,如-w capture.pcap。
•-r: 从文件中读取抓包结果进行分析,如-r capture.pcap。
2.4 过滤器的使用过滤器用来过滤捕获的数据包,可以根据协议、源地址、目的地址、端口号等进行筛选。
以下是一些常用的过滤器:•host: 根据IP地址过滤数据包,如host 192.168.1.1。
•port: 根据端口号过滤数据包,如port 80。
•src和dst: 根据源地址和目的地址过滤数据包,如src 192.168.1.1和dst 192.168.1.2。
•tcp和udp: 根据传输层协议过滤数据包,如tcp port 80和udp port 53。
3. tcpdump进阶用法3.1 显示详细的包信息使用-v选项可以显示更详细的包信息,包括源地址、目的地址、协议、TTL、序号等。
tcpdump的使用以及参数详解
tcpdump的使⽤以及参数详解平时分析客户端和服务器⽹络交互的问题时,很多情况下需要在客户端和服务器抓包分析报⽂。
⼀般win下抓包使⽤WireShark即可,但是linux下就需要⽤到tcpdump了,下⾯是⼀些对于tcpdump的使⽤说明。
tcpdump可以将⽹络传送的数据包的"头"截获下来提供分析。
它⽀持针对⽹络层,协议,主机,⽹络或端⼝的过滤,并提供and,or,not等逻辑语句帮助你过滤⽆⽤信息。
⼀. 基本使⽤关键字使类型:第⼀种是关于类型的关键字,主要包括host, net, port, 例如 host 210.27.48.2,指明 210.27.48.2是⼀台主机,net 202.0.0.0 指明 202.0.0.0是⼀个⽹络地址,port 23 指明端⼝号是23。
如果没有指定类型,缺省的类型是host.第⼆种是确定传输⽅向的关键字,主要包括src , dst , dst or src, dst and src ,这些关键字指明了传输的⽅向。
举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明⽬的⽹络地址是202.0.0.0 。
如果没有指明⽅向关键字,则缺省是src or dst关键字。
第三种是协议的关键字,主要包括fddi, ip, arp, rarp, tcp, udp等类型。
Fddi指明是在FDDI(分布式光纤数据接⼝⽹络)上的特定的⽹络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和⽬的地址,所以可以将fddi协议包当作ether的包进⾏处理和分析。
其他的⼏个关键字就是指明了监听的包的协议内容。
如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
默认tcpdump监视第⼀个⽹络节点上流过的所有数据包。
监视指定⽹络接⼝tcpdump -i eth1监视指定主机的数据包tcpdump host cas1监视所有来⾃或去往cas1的包tcpdump host 10.10.10.1当然也可以指定IPtcpdump -i eth0 src host cas1截获主机cas1发送的所有数据tcpdump -i eth0 dst host cas1监视所有发送到主机cas1的数据指定端⼝tcpdump tcp port 23 and host cas1获取和主机cas1交互的所有telnet包tcpdump udp port 123监视本机UDP的ntp服务端⼝tcpdump -i eth0 -vnn src host 10.10.10.122 and not port 22抓取源ip是10.10.10.122且端⼝不是22的数据包tcpdump -i eth0 -vnn \( src host 10.10.10.2 and dst port 22 \) or \( src host 10.10.10.65 and dst port 80 \) tcpdump -i eth0 -vnn 'src host 10.10.10.2 and dst port 22' or ' src host 10.10.10.65 and dst port 80 '抓取源ip是10.10.10.2且⽬的端⼝是22,或源ip是10.10.10.65且⽬的端⼝是80的数据包。
Tcpdump的详细用法
1. TCPDump介绍TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。
它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。
tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。
因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。
我们用尽量简单的话来定义tcpdump,就是:dump the traffice on anetwork.,根据使用者的定义对网络上的数据包进行截获的包分析工具。
作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东西之一。
tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。
tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。
因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。
2. TcpDump的使用普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。
# tcpdumptcpdump: listening on fxp011:58:47.873028 bios-ns >bios-ns: udp 5011:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/Clen=430000 0000 0080 0000 1007 cf08 0900 00000e80 0000 902b 4695 0980 8701 0014 0002000f 0000 902b 4695 0008 0011:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97ffff 0060 0004 ffff ffff ffff ffff ffff0452 ffff ffff 0000 e85b 6d85 4008 00020640 4d41 5354 4552 5f57 4542 0000 00000000 00tcpdump支持相当多的不同参数,如使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,使用-c参数指定要监听的数据包数量,使用-w参数指定将监听到的数据包写入文件中保存,等等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-l 使标准输出变为缓冲行形式;
-n 不把网络地址转换成名字;
-t 在输出的每一行不打印时间戳;
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
命令的输出结果如下所示:
21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice.
telne
t 0:0(0) ack 22535 win 8760 (DF)
分析:21:50:12是显示的时间, 847509是ID号,eth0 <表示从网络接口eth0 接受该
(3) TCP包的输出信息
用TCPDUMP捕获的TCP包的一般输出信息是:
src > dst: flags data-seqno ack window urgent options
src > dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (F
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程
调用)和snmp(简单 网络管理协议;)
2. tcpdump的表达式介绍
表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表
达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
(4)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1
3. tcpdump 的输出结果介绍
数据包,eth0 >表示从网络接口设备发送数据包, 8:0:20:79:5b:46是主机H219的MAC地址,它
表明是从源地址H219发来的数据包. 0:90:27:58:af:1a是主机ICE的MAC地址,表示该数据包的
目的地址是ICE . ip 是表明该数据包是IP数据包,60 是数据包的长度, h219.33357 > ice.
1. tcpdump的选项介绍
-a 将网络地址和广播地址转变成名字;
-d 将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd 将匹配信息包的代码以c语言程序段的格式给出;
-ddd 将匹配信息包的代码以十进制的形式给出;
-e 在输出行打印出数据链路层的头部信息;
缺省是src or dst关键字。
第三种是协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型。Fddi指明是在
FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和e
ther具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。
其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会
监听所有协议的信息包。
除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,
greater,还有三种逻辑运算,取非运算是 not ! , 与运算是and,&&;或运算 是o
r ,||;
这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来
说明。
(1)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:
#tcpdump host 210.27.48.1
(2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令
被截获。
在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,
net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明
202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是
route.port1 > ice.port2: udp lenth
UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机
ICE的port2端口,类型是UDP, 包的长度是lenth
-vv 输出详细的报文信息;
-c 在收到指定的包的数目后,tcpdump就会停止;
-F 从指定的文件中读取表达式,忽略其它的表达式;
-i 指定监听的网络接口;
-r 从指定的文件中读取包(这些包一般通过-w选项产生);
-w 直接将包写入文件中,并不分析和打印出来;
IN), P (PUSH) , R (RST) "." (没有标记); data-seqno是数据包中的数据的顺序号, ack是
下次期望的顺序号, window是接收缓存的窗口大小, urgent表明数据包中是否有紧急指针.
Options是选项.
(4) UDP包的输出信息
用TCPDUMP捕获的UDP包的一般输出信息是:
:(在命令行中适用 括号时,一定要
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
(3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包
,使用命令:
:1a)
分析: 22:32:42是时间戳, 802509是ID号, eth0 >表明从主机发出该数据包, arp表明是
ARP请求包, who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。 0:90:27:5
8:af:1a是主机ICE的MAC地址。
tcpdump采用命令行方式,它的命令格式为:
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]
[ -T 类型 ] [ -w 文件名 ] [表达式 ]
host.
第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,
这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.
48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则
telnet 表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口. ack 22535
表明对序列号是222535的包进行响应. win 8760表明发送窗口的大小是8760.
(2) ARP包的TCPDUMP输出信息
使用命令#tcpdump arp
下面我们介绍几种典型的tcpdump命令的输出信息
(1) 数据链路层头信息
使用命令#tcpdump --e host ice
ice 是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A
H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一条
得到的输出结果是:
22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a)
22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af