修改 TCP/IP 数据包中的 IP

网络工程 路由器 ip tcp IP地址 联网
2022-03-04 11:39:26

我的 ip 地址在发送到下一个节点的 ip 数据包中指定。我想知道处理此数据包的设备是否可以在将其转发到最终目的地之前修改 IP 地址?

从理论上讲,这听起来是可能的,但在最终目的地之前的 ISP 或其他节点可能不太可能这样做。

如果我编写自己的 tcp/ip 消息并输入一个假的 ip 地址会怎样(假设我不关心响应)这仍然会发送到最终目的地吗?

我想知道,因为我正在设置自己的服务器,并且如果这是一种可能的情况,我不想疯狂地将 IP 地址列入黑名单。

2个回答

我想知道处理此数据包的设备是否可以在将其转发到最终目的地之前修改 IP 地址?

理论上,任何转发数据包的节点都可以修改其中的任何内容。NAT 路由器定期在公共地址和私有地址之间进行转换。

ISP 或最终目的地之前的另一个节点不太可能这样做。

除非他们运行 CG-NAT,否则您的 ISP 不会这样做。

如果我编写自己的 tcp/ip 消息并输入假 IP 地址会怎样(假设我不关心响应)

这叫作弊。它可能适用于某些传输协议(如 UDP),但肯定不适用于其他协议(如 TCP)。

这还会被送到最终目的地吗?

最可能。

我想知道,因为我正在设置自己的服务器,并且如果这是一种可能的情况,我不想疯狂地将 IP 地址列入黑名单。

如果您打算在 Internet 上设置服务器,您应该学习基础知识。

我的 ip 地址在发送到下一个节点的 ip 数据包中指定。我想知道处理此数据包的设备是否可以在将其转发到最终目的地之前修改 IP 地址?

那就是所谓的 NAT(网络地址转换),它很常见。例如,几乎所有家庭网络都使用在公共 Internet 上看不到的私有 IPv4 寻址,因此源地址使用 NAT 来获取公共 IPv4 地址。

NAT 有多种形式,最常用的形式是 NAPT(网络地址端口转换),它也转换 TCP 或 UDP 地址(端口)或 ICMP 查询 ID。这允许私有 IPv4 网络上的主机网络使用单个公共 IPv4 地址。

从理论上讲,这听起来是可能的,但在最终目的地之前的 ISP 或其他节点可能不太可能这样做。

ISP 越来越普遍地使用 NAPT 来为愿意支付特权的企业保留其有限的公共 IPv4 地址空间,并将 NAPT 强加给其住宅客户。

如果我编写自己的 tcp/ip 消息并输入一个假的 ip 地址会怎样(假设我不关心响应)这仍然会发送到最终目的地吗?

数据包由数据包头中的目标地址路由。