高手请进

ymy1248227142 2012-04-28 03:02:15
有什么办法可以在我本地获取路由器上的信息啊?比如选路表啊、NAT 表啊之类的,谢谢
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-04-29
  • 打赏
  • 举报
回复
网上很多介绍的,无非是借助公网服务器各自映射到外网,公网服务器告知彼此地址,之后点对点通信,而且只适用于udp,因为无连接所以才能重复用。 一般nat会转发80端口的包到内网,作为防火墙,所以内网可以借助一台内网的80web服务器作为代理,封装http请求给他,让他向外发,接受应答再给你,另外外网的包主动发到路由器可以被80处理后发向指定服务器,相当于为两边做代理。
ymy1248227142 2012-04-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

引用 3 楼 的回复:

本地是什么意思,你计算机上的路由表还是家庭路由器上的路由表?
就是我在自己电脑上编程的时后,(我电脑是私网IP),我出路由器的时候会被换成公网IP和一个端口,我想在我的电脑上知道我出去的时候到底被换成的那个端口和IP,不通过第三方告知(如:让服务器回发消息,将自己的外网IP和端口发回来),我就想在自己的电脑上知道它,谢谢


……
[/Quote]这么悲剧。。。。那有什么办法实现对称NAT到对称NAT之间打洞吗?
qq120848369 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:

本地是什么意思,你计算机上的路由表还是家庭路由器上的路由表?
就是我在自己电脑上编程的时后,(我电脑是私网IP),我出路由器的时候会被换成公网IP和一个端口,我想在我的电脑上知道我出去的时候到底被换成的那个端口和IP,不通过第三方告知(如:让服务器回发消息,将自己的外网IP和端口发回来),我就想在自己的电脑上知道它,谢谢
[/Quote]

路由器NAT改了你的IP头,这个还真不容易获得,因为一般的映射是以 :
目标IP/目标PORT --- 路由器IP/路由器PORT --- 电脑IP/电脑PORT, 如果有多个客户端以相同的本地PORT,相同的目标IP/PORT经过路由器,NAT映射就不能单以目标IP/PORT + 本地PORT来映射到内网了,因为有重复,这种情况NAT映射的情况会复杂一点,否则一般情况下,假设就你一个电脑在路由器之后,那么定然是路由器IP+你的本地PORT就是路由器映射出去的IP/PORT。

NAT映射从算法上需要区分内网主动连接外网和外网主动连接路由器,如果路由器没有特殊设置NAT映射,外网的主动连接是不可能进到内网的。我们只考虑内网主动连接外网,也就是会出现上述的冲突问题。

你只能通过你说的办法,让外网的机器告诉你映射的IP和PORT,不过这个IP一定是路由器外网IP。
ymy1248227142 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

本地是什么意思,你计算机上的路由表还是家庭路由器上的路由表?
[/Quote]就是我在自己电脑上编程的时后,(我电脑是私网IP),我出路由器的时候会被换成公网IP和一个端口,我想在我的电脑上知道我出去的时候到底被换成的那个端口和IP,不通过第三方告知(如:让服务器回发消息,将自己的外网IP和端口发回来),我就想在自己的电脑上知道它,谢谢
qq120848369 2012-04-28
  • 打赏
  • 举报
回复
本地是什么意思,你计算机上的路由表还是家庭路由器上的路由表?
自信男孩 2012-04-28
  • 打赏
  • 举报
回复
可以通过软件远程登录到一台路由器,然后通过命令查看路由表信息。当然你需要有权限登录到远程的路由器。
root_jli 2012-04-28
  • 打赏
  • 举报
回复
route -v

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧