客户端与服务端通信的端口以及新增ARP缓存

客户端(例如浏览器)在与服务器通信时确实会使用一个随机的、高于1024的端口。不过,在端口转发的场景中,我们主要关注的是两个不同的层面:服务器的监听端口 (即最终目的地的端口)和客户端的源端口

端口转发的工作原理

  1. 客户端与服务器的通信

    当客户端(如Web浏览器)请求一个网页时,它会从操作系统中随机选择一个可用的高端口(通常是1024以上),并通过这个端口发送请求。请求是通过建立TCP连接的形式发送到服务器的特定端口(例如HTTP的80端口或HTTPS的443端口)。

  2. 端口转发的角色

    端口转发主要是在服务器端进行的。在上一篇文章的案例中,通过netsh设置端口转发,这使得你的计算机(作为服务端)能够将进入的流量从特定的端口(例如80端口)转发到内部网络中的其他设备。

结合起来

  • 客户端访问

    • 客户端会向10.0.0.1:80发送请求。这个IP假设是你的服务器上的IP地址。客户端会使用一个随机的源端口(例如60000),但这对转发规则没有影响。
  • 端口转发执行

    • 你的服务器(返回请求的地方)侦听在80端口,转发进入的请求到另一台目标服务器(例如192.168.1.100)的80端口。
  • 流量转发

    • 一旦数据包到达10.0.0.1:80,依据你的netsh规则,数据会被转发到192.168.1.100:80。目标服务器处理请求并返回响应。

添加新的ARP条目

1. 打开命令提示符(以管理员身份运行)
  • 按下 Win + R 键,打开"运行"对话框。
  • 输入 cmd,然后右键点击并选择"以管理员身份运行"以打开命令提示符。
2. 查看当前的ARP缓存

在命令提示符中输入以下命令以查看当前的ARP缓存:

复制代码
arp -a

这将显示当前ARP缓存中的IP地址与MAC地址的映射,包括网关的条目。

3. 指定要修改的网关IP地址

假设你的网关IP地址是 192.168.1.1,你可以使用以下命令格式来修改这个IP地址对应的MAC地址:

复制代码
arp -s 192.168.1.1 [新的MAC地址]

例如,如果你想将网关 192.168.1.1 的MAC地址修改为 00-11-22-33-44-55,可以输入:

复制代码
arp -s 192.168.1.1 00-11-22-33-44-55
4. 验证修改

再次使用以下命令查看当前ARP缓存,以确认你的修改是否生效:

复制代码
arp -a

你应该能够在ARP缓存列表中看到网关的IP地址对应的MAC地址已经被修改。

注意事项

  • 管理员权限:修改ARP缓存通常需要管理员权限,因此在打开命令提示符时要以管理员身份运行。
  • 网络影响:修改网关的ARP条目可能会导致网络连接中断或不稳定。请务必在使用此方法之前确保你有充足的准备应对可能的网络问题。
  • ARP缓存时间限制:ARP缓存条目有一定的生存时间,修改后的条目可能会在一段时间后恢复到默认状态。这个生存时间取决于网络环境和操作系统设置。
相关推荐
孙同学_5 小时前
【Linux篇】NTA机制与网络地址转换原理详解
linux·网络·智能路由器
zbtlink7 小时前
你的旧路由,正在下乡
智能路由器
zx2859634001 天前
Laravel5.x版本革新特性全解析
mysql·gateway·智能路由器
计算机安禾1 天前
【计算机网络】第7篇:IP寻址体系的演进——从分类编址到CIDR的无类域间路由
tcp/ip·计算机网络·智能路由器
孙同学_1 天前
【Linux篇】网络层与数据链路层详解
linux·网络·智能路由器
zx2859634002 天前
Laravel10.x重磅升级:核心特性全解析
mysql·gateway·智能路由器
环流_4 天前
IP协议特性
网络·tcp/ip·智能路由器
ZStack开发者社区5 天前
ZStack Cloud 5.5.16正式发布
网络·云计算·智能路由器
星恒讯工业路由器5 天前
路由器也需要散热?
网络·智能路由器
ZenosDoron6 天前
虚拟机软件(如 VirtualBox、VMware)通常提供三种主要的网络模式
网络·智能路由器