假设我和我的朋友通过某个本地 ISP(不一定相同)连接到 Internet,这意味着我们在不同的网络上,因此我们的计算机具有不同的私有 IP 地址。如果我知道他的私人和公共 IP 地址(这是他网关路由器的 IP 地址),有什么办法可以向他发送消息?如果是这样,那么数据包将如何到达他?
不同网络中的两台计算机如何通信?
首先,仅仅因为您的两台计算机在两个不同的位置通过 Internet 连接并不一定意味着您正在使用私有地址。考虑到 IPv4 地址短缺,这当然是 IPv4 最有可能的情况,但仍然不一定正确。如果您正在运行 IPv6,则您可能正在使用公共 IPv6 地址。
假设您在使用 NAT 的路由器后面使用私有 IPv4 寻址。
知道另一个私有地址对您毫无用处,因此只需将其排除在外。
在正常的非黑客情况下,两端的 NAT 路由器需要为每台 PC 的私有地址启用端口转发,或者路由器需要使用一对一的 NAT,以使两台 PC 通过公共地址。您还可以在两台 PC 之间使用 VPN 来解决 NAT 问题。这一切都假设没有防火墙来阻止从 Internet 到专用网络的流量。
在一对一的 NAT 中,每个网络都会有多个公共地址,这些地址唯一地转换为单个私有地址,因此使用公共地址将使您到达相应的私有地址。鉴于 IPv4 地址短缺,这也是不太可能发生的情况,但在某些地方已经这样做了。
端口转发将 NAT 配置为将发送到给定端口号上的路由器公共地址的传入流量转发到给定端口号上的特定内部专用地址。
VPN 是一个隧道。通常,来自一个内部网络的流量被封装在寻址到另一个网络的公共地址的数据包中,然后发送到另一个网络,在那里它被解封装到另一个内部网络。这可以配置为使外部网络对于本地网络的隧道接口来说是本地的。
任何一端或路径上任何地方的防火墙都可以配置为阻止任何或所有这些方法。
首先,全世界的所有计算机都通过 ISP 进行物理连接。ISP 遍布电缆,将它们连接到多个路由器。
无论如何。回答你的问题。你不需要他的私有IP。只有他的公网ip。为了在他自己的专用网络中连接到他的计算机,他的路由器使用了一种叫做 NAT 的东西。当您连接到他的公共 IP 时,假设您想控制他的计算机.. 他端的路由器/防火墙必须为该服务打开指定的端口。
所以一个例子是这样的:假设你想从你的计算机上关闭他的计算机(假设存在这样的服务),并且该服务使用端口 10。你会将那个特殊的关闭数据包发送到端口 10 到他的公共 IP 地址。然后需要将他那端的路由器/防火墙配置为转发端口 10 上的请求以转到他的计算机。
希望我有所帮助。
1 步骤:如上 - 路由器上的端口转发。
要具体了解您的“消息”查询,您可能需要查看:
Spark IM 客户端...
从技术上讲,这可以通过执行上面建议的端口转发来轻松完成。但是,出于安全原因,您不应该这样做。即使对于基于家庭的系统,感染或黑客攻击的风险也是真实存在的。你可能认为你没有什么可隐瞒的......但是房子里的其他人呢?您可能成为外部威胁深入了解的起点。银行、信用卡、密码、私人信息……威胁是真实存在的。
查看设置 VPN。如果您喜欢技术并想学习,那么该项目对您来说会很有趣。
W.