Linux网络抓包分析工具( 二 )


  • 第一列:报文的时间
  • 第二列:网络协议 IP
  • 第三列:发送方的 ip 地址、端口号、域名,上图显示的是本机的域名,可通过 / etc/hosts 查看本机域名
  • 第四列:箭头 >,表示数据流向
  • 第五列:接收方的 ip 地址、端口号、域名,
  • 第六列:冒号
  • 第七列:数据包内容,报文头的摘要信息,有 ttl、报文类型、标识值、序列、包的大小等信息
捕获主机 192.168.56.209 和主机 192.168.56.210 或 192.168.56.211 的所有通信数据包
> tcpdump ip host node9 and not www.baidu.com
捕获主机 node9 与其他主机之间(不包括 www.baidu.com)通信的 ip 数据包
> tcpdump ip host node9 and ! www.baidu.com
捕获 node9 与其他所有主机的通信数据包(不包括 www.baidu.com)
> tcpdump -i ens33 src node10
捕获源主机 node10 发送的所有的经过 ens33 网卡的所有数据包
> tcpdump -i ens33 dst host www.baidu.com
捕获所有发送到主机 www.baidu.com 的数据包
监听主机 192.168.56.1 和 192.168.56.210 之间 ip 协议的 80 端口的且排除 www.baidu.com 通信的所有数据包:
> tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host ! baidu.com
也可以写成 tcpdump ip dst 192.168.56.1 and src 192.168.56.210 and port 80 and host not www.baidu.com,即 not 和!都是相同的取反的意思
> tcpdump arp
监控指定主机的通信数据包与 1.9.1 方式相同
> tcpdump tcp port 22 and host 192.168.56.210
捕获主机 192.168.56.210 接收和发出的 tcp 协议的 ssh 的数据包
tcpdump udp port 53
监听本机 udp 的 53 端口的数据包,udp 是 DNS 协议的端口,这也是一个 dns 域名解析的完整过程
5、常用的过滤条件tcpdump 可以支持逻辑运算符
and: 与运算,所有的条件都需要满足,可用 “and”和 “&&” 表示
or:或运行,只要有一个条件满足就可以,可用 “or” 和“|”表示
not:取反,即取反条件,可以用 “not” 和“!”表示
> tcpdump icmp and src 192.168.100.10 -i ens33 -n
过滤 icmp 报文并且源 IP 是 192.168.100.10
多条件格式
在使用多个过滤条件进行组合时,有可能需要用到括号,而括号在 shell 中是特殊符号,又需要使用引号将其包含 。用括号的主要作用是逻辑运算符之间存在优先级,!>and > or, 为例条件能够精确所以需要对一些必要的组合括号括起来,而括号的意思相当于加减运算一样,括起来的内容作为一个整体进行逻辑运算 。
过滤源地址是 192.168.100.1 并且目的地址是 192.168.20.20 的数据包或者 ARP 协议的包
> tcpdump **src** host 192.168.10.10 -i ens33 -n -c 5
过滤源 IP 地址是 192.168.10.10 的包

Linux网络抓包分析工具

文章插图
> tcpdump **dst** host 192.168.10.10 -i ens33 -n -c 5
过滤目的 IP 地址是 192.168.10.10 的包
基于端口进行过滤
> tcpdump port 22 -i ens33 -n -c 5
> 过滤端口号为 22 即 ssh 协议的
> tcpdump portrange 22-433 -i ens33 -n -c 8
过滤端口号 22-433 内的数据包

Linux网络抓包分析工具

文章插图
二、wireshark 1、什么是 wireshark
Wireshark 是一个网络封包分析软件 。网络封包分析软件的功能是捕获网络数据包,并尽可能显示出最为详细的网络封包资料 。Wireshark 使用 WinPCAP 作为接口,直接与网卡进行数据报文交换
2、安装 wireshark
linux 中有两个版本的 wireshark,一个是 wireshark,这个版本是无图形化界面,基本命令是”tshark“ 。
一个是 wireshark-gnome(界面版本),这个版本只能安装在支持 GUI 功能的 Linux 的版本中 。
> yum -y install wireshark // 安装无图形化版本
> yum -y install wireshark-gnome // 安装图形化版本
Linux网络抓包分析工具

文章插图

Linux网络抓包分析工具

文章插图
注:这里的通过 yum 进行安装,需要提前做好 epel 源(即红帽操作系统额外拓展包),装上了 EPEL 之后,就相当于添加了一个第三方源 。官方的 rpm repository 提供的 rpm 包也不够丰富,很多时候需要自己编译那太辛苦了,而 EPEL 可以解决官方 yum 源数据包不够丰富的情况 。


推荐阅读