Linux抓包(wireshark+tcpdump)

文章目录

  • 一、Wireshark
    • 1. 安装wireshark工具
    • 2.打开Wireshark
    • 3. Wireshark基本使用
    • 4. 抓包信息
      • 1. 抓ping程序包
        • 请求信息
        • 响应信息
        • ARP协议
      • 2. 抓TCP三次握手、四次挥手
        • 三次握手
        • 四次挥手
    • 3.抓telnet包
      • 安装 telnet
      • 用 Woreshark抓包
  • 二、tcpdump工具
    • 1. 查看arp缓存
    • 2. tcpdump基本使用
      • 抓 ping包
      • 保存抓包数据到指定文件
      • 其它用法


一、Wireshark

Wireshark是一款图形化的抓包软件,在LInux和Windows下都可以下载。

1. 安装wireshark工具

用命令安装 wireshark相关软件包
命令:yum -y install wireshark* -y

Linux抓包(wireshark+tcpdump)_第1张图片
rpm -ql wireshark查看安装wireshark产生了哪些文件

Linux抓包(wireshark+tcpdump)_第2张图片

2.打开Wireshark

直接通过命令打开
wireshark

Linux抓包(wireshark+tcpdump)_第3张图片
或者是图形化页面点开就好

Linux抓包(wireshark+tcpdump)_第4张图片
Linux抓包(wireshark+tcpdump)_第5张图片

3. Wireshark基本使用

点击Interface List,就可以看到接口列表,选择需要抓哪个网卡的包

Linux抓包(wireshark+tcpdump)_第6张图片

这里我选择ens33网卡,点击start开始抓包

Linux抓包(wireshark+tcpdump)_第7张图片

Linux抓包(wireshark+tcpdump)_第8张图片

我们ping我们的主机地址,看看抓包情况

Linux抓包(wireshark+tcpdump)_第9张图片

ping 工具使用的就是 ICMP协议,ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。它主要是用来提供有关通向目的地址的路径信息。

Linux抓包(wireshark+tcpdump)_第10张图片

4. 抓包信息

通过 ip.addr == [端口号]可以过滤掉无关ip

Linux抓包(wireshark+tcpdump)_第11张图片

1. 抓ping程序包

请求信息

Linux抓包(wireshark+tcpdump)_第12张图片

数据帧
Linux抓包(wireshark+tcpdump)_第13张图片
链路层

Linux抓包(wireshark+tcpdump)_第14张图片
网络层

Linux抓包(wireshark+tcpdump)_第15张图片
应用层

Linux抓包(wireshark+tcpdump)_第16张图片

响应信息

因为是ping的响应,要响应给windows,所以源变成了LInux本机,目的变成了windows。
接着是协议类型,ping的请求是8,响应变成了0

Linux抓包(wireshark+tcpdump)_第17张图片

ARP协议

Linux抓包(wireshark+tcpdump)_第18张图片

2. 抓TCP三次握手、四次挥手

三次握手

通过 Xshell连接Linux虚拟机

Linux抓包(wireshark+tcpdump)_第19张图片

Linux抓包(wireshark+tcpdump)_第20张图片

四次挥手

Linux抓包(wireshark+tcpdump)_第21张图片
Linux抓包(wireshark+tcpdump)_第22张图片

3.抓telnet包

安装 telnet

telnet是和ssh类似的,都是用来远程登录Linux服务器,ssh的端口号是22,telnet的端口号是23

安装命令:yum -y install telnet-server

安装完后要启动服务

命令:systemctl start telnet.socket

Linux抓包(wireshark+tcpdump)_第23张图片
查看是否有telnet服务的端口号
命令:netstat -nltp | grep :23

Linux抓包(wireshark+tcpdump)_第24张图片
查看该应用产生哪些文件

Linux抓包(wireshark+tcpdump)_第25张图片
测试telnet
测试时记得开发23端口或者关闭防火墙
关闭防火墙命令:systemctl stop firewalld
添加端口号:firewall-cmd --zone=public --add-port=[端口号]
注意:telnet 默认是不允许root用户登录的,只能登录普通用户

Linux抓包(wireshark+tcpdump)_第26张图片

用 Woreshark抓包

抓包后发现,telnet传输的是明文数据。仔细找还能看到密码,所以这个命令基本是被淘汰了
Linux抓包(wireshark+tcpdump)_第27张图片

二、tcpdump工具

tcpdump是 Linux下的抓包工具,但它是命令行的操作。用起来没有Wireshark方便

Linux抓包(wireshark+tcpdump)_第28张图片

ARP:(地址解析协议IP-MAC)和RARP(逆地址解析协议MAC-IP)是某些网络接口(如以太网)使用的特殊协议,用来转换IP层和网络接口层使用的地址下层协议给上层协议提供了一些功能支撑,上层协议要依赖下层协议

1. 查看arp缓存

命令:arp -n
作用:查看arp缓存

arp缓存里记录了,我的主机曾经向拿台主机要过MAC地址

Linux抓包(wireshark+tcpdump)_第29张图片

删除arp缓存
命令:arp -d [ip]

Linux抓包(wireshark+tcpdump)_第30张图片

2. tcpdump基本使用

常用语法:tcpdump -i [网卡名] -nn host [主机ip]

  • -i :指定网络接口,对于多个网络接口有用
  • -n :显示IP地址,不查主机名。当DNS不起作用时常用到这个参数
  • -nn :不显示协议和端口名。即显示IP地址和端口

抓 ping包

Linux抓包(wireshark+tcpdump)_第31张图片
Linux抓包(wireshark+tcpdump)_第32张图片
每次询问的MAC地址都会保存到,arp缓存里

Linux抓包(wireshark+tcpdump)_第33张图片

保存抓包数据到指定文件

通过 -w 选项可以将抓包数据保存到指定文件里,再通过Woreshark打开

命令:tcpdump -i [网卡名] -nn host [主机ip] -w [文件名]

Linux抓包(wireshark+tcpdump)_第34张图片

Linux抓包(wireshark+tcpdump)_第35张图片
找到保存抓包信息的文件,打开

Linux抓包(wireshark+tcpdump)_第36张图片

Linux抓包(wireshark+tcpdump)_第37张图片

其它用法

下面的命令可以查看所有送到主机hostname的数据包
tcpdump -i eth0 dst host [主机ip]

你可能感兴趣的:(Linux,linux,wireshark,tcpdump)