Tcpdump 的简单用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tcpdump 的简单用法相关的知识,希望对你有一定的参考价值。
Tcpdump 的简单用法
tcpdump是Linux命令行下使用最广泛的网络分析工具,运行的时候会将网卡运行在混杂模式下,需要root权限才能执行
下面是几个比较常见的参数:
-w 保持到指定的文件
-i 指定监听的网卡,缺省显示第一块网卡
-nn 以IP方式显示host
-v 显示详细信息
-s 指定数据包大小,缺省是65535
-t 不显示时间 ,缺省是显示时间戳
-c 获取数据包数量,缺省不限制,需要用Ctrl+c来终止
下面是关于命令关键字的说明
1、主要包括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.
2、主要包括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关键字。
3、主要包括fddi,ip,arp,rarp,tcp,udp等类型,指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
还有三个逻辑关系
非运算是 ‘not ‘ ‘! ‘;与运算是‘and‘,‘&&‘;或运算 是‘or‘ ,‘||‘;
具体命令实例(192.168.85.128是一台服务器):
1、获取192.168.85.128的网络信息
tcpdump host 192.168.85.128
2、指定eth0获取192.168.85.128的详细信息,忽略时间,截取包长度为10000,获取100个数据包,保存到指定文件abc.cap(这个文件可以用第三方工具wireshark打开,并在图形界面分析)
tcpdump -vnn host 192.168.85.128 -i eth0 -t -s10000 -c100 -w ./abc.cap
3、获取一个网段的网络信息
tcpdump net 192.168.85.0/24
4、获取一个网段的网络信息,但排除某个IP
tcpdump net 192.168.85.0/24 and ! host 192.168.85.2
5、获取IP是192.168.85.128的110端口的所有信息(此处包括客户端连服务器和服务器返回给客户端两种)
tcpdump host 192.168.85.128 and port 110
等同于
tcpdump dst or src host 192.168.85.128 and dst or src port 110
6、获取源IP是192.168.85.128的110端口网络信息
tcpdump src host 192.168.85.128 and src port 110
7、获取客户端IP是192.168.85.1与服务器192.168.85.128的所有通讯信息
tcpdump src host 192.168.85.1 and dst host 192.168.85.128
8、获取客户端IP是192.168.85.1与服务器192.168.85.128的所有通讯信息,但不包括22端口
tcpdump src host 192.168.85.1 and dst host 192.168.85.128 and ! port 22
9、获取客户端IP是192.168.85.1与服务器192.168.85.128的110端口网络信息
tcpdump src host 192.168.85.1 and dst host 192.168.85.128 and port 110
当然这只是此命令的用法,但是如何分析获取的数据, 那就需要比较熟悉TCP/IP协议了
以上是关于Tcpdump 的简单用法的主要内容,如果未能解决你的问题,请参考以下文章