文章目录
- 一、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
文章图片
rpm -ql wireshark
查看安装wireshark产生了哪些文件文章图片
2.打开Wireshark 直接通过命令打开
wireshark
文章图片
或者是图形化页面点开就好
文章图片
文章图片
3. Wireshark基本使用 点击Interface List,就可以看到接口列表,选择需要抓哪个网卡的包
文章图片
这里我选择ens33网卡,点击start开始抓包
文章图片
文章图片
我们ping我们的主机地址,看看抓包情况
文章图片
ping 工具使用的就是
ICMP
协议,ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。它主要是用来提供有关通向目的地址的路径信息。文章图片
4. 抓包信息 通过
ip.addr == [端口号]可以过滤掉无关ip
文章图片
1. 抓ping程序包
请求信息
文章图片
数据帧
文章图片
链路层
文章图片
网络层
文章图片
应用层
文章图片
响应信息 因为是ping的响应,要响应给windows,所以源变成了LInux本机,目的变成了windows。
接着是协议类型,ping的请求是8,响应变成了0
文章图片
ARP协议
文章图片
2. 抓TCP三次握手、四次挥手
三次握手 通过 Xshell连接Linux虚拟机
文章图片
文章图片
四次挥手
文章图片
文章图片
3.抓telnet包 安装 telnet
telnet是和ssh类似的,都是用来远程登录Linux服务器,ssh的端口号是
22
,telnet的端口号是23
安装命令:
yum -y install telnet-server
安装完后要启动服务
命令:
systemctl start telnet.socket
文章图片
查看是否有
telnet
服务的端口号命令:
netstat -nltp | grep :23
文章图片
查看该应用产生哪些文件
文章图片
测试
telnet
测试时记得开发23端口或者关闭防火墙
关闭防火墙命令:
systemctl stop firewalld
添加端口号:
firewall-cmd --zone=public --add-port=[端口号]
注意:
telnet
默认是不允许root用户登录的,只能登录普通用户文章图片
用 Woreshark抓包
抓包后发现,
telnet
传输的是明文数据。仔细找还能看到密码,所以这个命令基本是被淘汰了文章图片
二、tcpdump工具
tcpdump
是 Linux下的抓包工具,但它是命令行的操作。用起来没有Wireshark方便文章图片
ARP
:(地址解析协议IP-MAC)和RARP
(逆地址解析协议MAC-IP)是某些网络接口(如以太网)使用的特殊协议,用来转换IP层和网络接口层使用的地址下层协议给上层协议提供了一些功能支撑,上层协议要依赖下层协议1. 查看arp缓存 命令:
arp -n
作用:查看arp缓存
arp缓存里记录了,我的主机曾经向拿台主机要过MAC地址
文章图片
删除arp缓存
命令:
arp -d [ip]
文章图片
2. tcpdump基本使用 常用语法:
tcpdump -i [网卡名] -nn host [主机ip]
-i
:指定网络接口,对于多个网络接口有用-n
:显示IP地址,不查主机名。当DNS不起作用时常用到这个参数-nn
:不显示协议和端口名。即显示IP地址和端口
文章图片
文章图片
每次询问的MAC地址都会保存到,arp缓存里
文章图片
保存抓包数据到指定文件
通过
-w
选项可以将抓包数据保存到指定文件里,再通过Woreshark打开命令:
tcpdump -i [网卡名] -nn host [主机ip] -w [文件名]
文章图片
文章图片
找到保存抓包信息的文件,打开
文章图片
文章图片
其它用法
【Linux|Linux抓包(wireshark+tcpdump)】下面的命令可以查看所有送到主机hostname的数据包
tcpdump -i eth0 dst host [主机ip]
推荐阅读
- Linux|超级详细的Linux抓包工具tcpdump详解!
- 运维笔记|Linux性能优化——使用 tcpdump 和 Wireshark 分析网络流量
- 网络|Linux网络抓包分析工具
- Linux|Linux 抓包分析(Tcpdump + Wireshark 的完美组合)
- Linux基础使用|Linux 运行和控制 shell 脚本
- Linux|shell编程--四种流程控制语句
- 配置|Docker Desktop上启用k8s流程
- redis|docker-compose、k8s部署单机版redis
- 翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。