码迷,mamicode.com
首页 > 其他好文 > 详细

NAT穿越

时间:2020-05-13 00:21:47      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:select   table   add   sel   数据   翻译   and   请求   存在   

NAT是Network Address Translation的缩写,就是个网络地址翻译器。防火墙里都安装有它。

比方说,一台内网机器的程序(192.168.0.10:7777)访问外网地址:61.135.169.125:9999. NAT会做什么?

1.    NAT收到内网数据包,会做三件事
    1)    将数据包里的源地址: 192.168.0.10:7777 改为123.126.55.41:8888. 这是NAT里的公网地址。
    2)    NAT 在映射表(iptables)里添加一条记录
        内网地址(A)    转换后地址(B)    目的地址(C)
        192.168.0.10:7777    123.126.55.41:8888    61.135.169.125:9999
    3)    将改变后的数据包发出去
2.    外网机器收到数据包后,就可以向123.126.55.41:8888回复消息
3.    NAT 收到外网的数据包,做以下事情
    1)    解析数据包,得知来自61.135.169.125:9999,要连接123.126.55.41:8888
    2)    检查映射表,select A from iptables where B=’123.126.55.41:8888’ and C=’61.135.169.125:9999’
    3)    如果存在,则NAT会转发该包到内网地址A. 否则丢弃该包。

映射表的这一条记录,就被看作一个“洞”,外网请求就可以通过这个洞,和内网的机器通信。

它的基本原理就是这么简单。

https://www.cnblogs.com/dapplehou/p/12879811.html

 

NAT穿越

标签:select   table   add   sel   数据   翻译   and   请求   存在   

原文地址:https://www.cnblogs.com/dapplehou/p/12879807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!