Tcpdump使用介绍 下载本文

内容发布更新时间 : 2024/5/9 18:31:15星期一 下面是文章的全部内容请认真阅读。

1 Tcpdump命令

NAME tcpdump - dump traffic on a network SYNOPSIS tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ] [ -C file_size ] [ -F file ] [ -i interface ] [ -m module ] [ -M secret ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -E spi@ipaddr algo:secret,... ] [ -y datalinktype ] [ -Z user ] [ expression ] 1.1 Tcpdump常用选项

OPTIONS -A 以ASCII码打印包信息(去除了链路层的头),用于抓起Web页面 -c 当抓到指定个数的包之后程序退出 -C 进行回滚,当-w后的文件的大小超过这里指定的大小时 -D 打印tcpdump可以抓包的网络接口名称 -e 打印链路层头 -f 将外部的Internet地址以数字的形式打印出来; -F 使用文件内容作为过滤表达式的输入 -i 监听的网络接口 -l 使标准输出变为缓冲行形式 -L 列出网络接口的链接类型 -n 不将地址转换成名称 -nn 不将协议和端口号转成名称 -p 不进入混杂模式 -q 快速(安静?)模式,打印较少的信息 -r 从指定的文件中读取包输入(-w 写入的文件) -S TCP序列号打印时打印绝对数值,而不是相对数值 -s 指定每个包捕捉的长度,默认是68 -t 不打印时间戳 -tt 打印未格式化的时间戳 -ttt 打印两行之间的相对时间 -tttt 增加日期时间 -v 打印更多信息 -vv 比-v打印更多的信息 -vvv 比-vvv更多信息 -w 写到文件中 -W 和-C共同使用,指定回滚的文件个数 -x 16进制打印,去除链路层头 -xx 16进制打印,包含链路层头 -X 16进制和ASCII码打印,去除链路层头. -XX 16进制和ASCII码打印,包含链路层头. -y 设置链接类型 1.2 tcpdump的表达式介绍

表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足

表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。在表达式中一般如下几种类型的关键字。

第一种是关于类型的关键字,主要包括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(分布式光纤数据接口网络)上的特定的网络协议,实际上它是\的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

除了这三种类型的关键字之外,其他重要的关键字如下:gateway,

broadcast,less,greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'or' ,'││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要。

(1) 抓取某个IP和某个端口的包

[root@localhost tmp]# tcpdump -nn host 192.168.18.178 and port 80

(2) 抓取arp包

[root@localhost tmp]# tcpdump arp -nn tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes 15:29:18.760926 arp who-has 192.168.30.32 (ff:ff:ff:ff:ff:ff) tell 192.168.30.32 15:29:18.915297 arp who-has 192.168.19.8 tell 192.168.19.115 15:29:18.968755 arp who-has 192.168.0.6 tell 192.168.0.6 15:29:18.976803 arp who-has 192.168.24.132 tell 172.16.1.254 15:29:19.002647 arp who-has 192.168.3.166 tell 192.168.3.165 15:29:19.003303 arp who-has 192.168.18.51 tell 192.168.18.211 15:29:19.003482 arp reply 192.168.18.51 is-at 00:22:19:5c:6d:06 15:29:19.010959 arp who-has 192.168.19.9 tell 192.168.19.158 15:29:19.044358 arp who-has 192.168.29.51 tell 192.168.29.163 15:29:19.069956 arp who-has 192.168.3.168 tell 192.168.3.114 15:29:19.089932 arp who-has 192.168.19.9 tell 192.168.19.11 15:29:19.130020 arp who-has 192.168.0.3 tell 192.168.0.3 15:29:19.376984 arp who-has 192.168.0.2 tell 192.168.0.53 15:29:19.395122 arp who-has 192.168.3.169 tell 192.168.3.175 15:29:19.436711 arp who-has 192.168.3.169 tell 192.168.3.174 15:29:19.450581 arp who-has 192.168.18.98 tell 192.168.18.111

(3) 分析