tcpdump 工具简介
tcpdump工具简介
1)
定义
用简单的话来定义
tcpdump
,就是:
dump the traffic on a network
,根据使用者的定义对网络上的数据包进行截获的包分析工具
2)
功能
它支持针对网络层、
协议
、主机、网络或端口的过滤,并提供
and
、
or
、
not
等逻辑语句来去掉无用的信息
tcpdump使用方法
1)tcpdump
常用命令格式
tcpdump
[ -
adeflnNOpqStvx
] [ -c
数量
] [ -F
文件名
] [ -
i
网络接口
] [ -r
文件名
] [ -s
数据包大小
] [ -T
类型
] [ -w
文件名
] [
表达式
]
2)选项
-a
将网络地址和广播地址转变成名字
-e
在输出行打印出数据链路层的头部信息
-n
不把网络地址转换成名字
-t
在输出的每一行不打印时间戳
-c
在收到指定的包的数目后,
tcpdump
就会停止
-F
从指定的文件中读取表达式
,
忽略其它的表达式
-l
使标准输出变为缓冲行形式
-
i
指定监听的网络接口
-r
从指定的文件中读取包
(
这些包一般通过
-w
选项产生
)
-w
直接将包写入文件中,并不分析和打印出来
-T
将监听到的包直接解释为指定的类型的报文
-v
输出一个稍微详细的信息,例如在
IP
包中可以包括
ttl
和服务类型的信息
-vv
输出详细的报文信息
-X
用十六进制字码列出数据包资料
tcpdump示例
1)
捕获特定网络接口的包
tcpdump
-
i
eth2
2)
捕获特定协议的包
tcpdump
arp
-
i
eth2
tcpdump
rarp
tcpdump
icmp
tcpdump
igmp
tcpdum p
ip
tcpdump
tcp
tcpdump
udp
3)
捕获特定主机的包
tcpdump
host 128.128.14.12 -
i
eth0 –
nvvvSe
4)
捕获两个特定主机的包
tcpdump
host 128.128.14.12 and 128.128.66.254 –
nvvvSe
5)
捕获一个主机所有和非特定主机通信的包
tcpdump
host 128.128.14.12 and ! 128.128.66.254
6)
捕获一个主机发往另一个特定主机的包
tcpdump
src
host 128.128.14.12 and
dst
128.128.66.254
7)
捕获一个主机发往特定子网的包
tcpdump
src
host 128.128.14.12 and
dst
net 128.128.0.0/16
8)
捕获源主机
MAC
地址的包
tcpdump ether src 28:6E:D4:4F:6E:A4 –nvv
v
Se
9)
捕获广播包
tcpdump
-
i
eth0 ether broadcast
10)
捕获特定协议的包
tcpdump
tcp
port 23 –
vvvSe
tcpdump
tcp
port 22 –
vvvSe
vsftp
协议的不安全性(抓包可以捕获
root
登陆密码)
tcpdump
-
i
eth0
tcp
port 20 or port 21 -
nvvveSXX
USM
后台捕获
SMM
板告警
tcpdump
-
i
eth0
udp
port 18999 and
dst
host 128.128.14.12 -s 500 -
nvvvSe
-T
snmp
11)
保存捕获的包到特定文件
tcpdump
udp
port 18999 and
dst
host 128.128.14.12 -s 500 -
nvvvSe
-w /smmAlarm.cap
12)
保存的文件可用高级抓包工具
ethereal
打开分析
tcpdump
读取先前已保存的文件
tcpdump
-r /smmAlarm.cap -
nvvvSe