服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

利用TCP 打洞实现公网访问

日期: 来源:kali黑客笔记收集编辑:priess

本文我们简单的说说利用Python进行Nat打洞,实现内网端口映射。无需公网IP,无需公网服务器。有手即可!

克隆项目

git clone https://github.com/MikeWang000000/Natter.git
#检查网络环境
python natter.py --check-nat

如果没有报错,便可以直接上手使用了。

穿透NAT

我想将kali的80端口进行映射

python natter.py 192..168.5.180 80

需要注意的是,目前是无法访问的,我们需要在路由器中打开相应的端口映射端口。

协议外部端口内部 IP 地址内部端口
TCP32622192.168.1.10080

这样我们便可以利用打洞的方式,实现访问内网设备了。

使用配置文件

如果您不想手动设置端口转发,可以交由 Natter 处理。同时,使用配置文件,Natter 可以提供更多有用的功能。

python natter.py -c ./natter-config.json

配置文件的说明如下:

// 注意:JSON 配置文件不支持代码注释,此处为说明配置用途。
{
    "logging": {
        "level": "info",                        // 日志等级:可选值:"debug"、"info"、"warning"、"error"
        "log_file": "./natter.log"              // 将日志输出到指定文件,不需要请留空:""
    },
    "status_report": {
        // 当外部IP/端口发生改变时,会执行下方命令。
        // 大括号 {...} 为占位符,命令执行时会被实际值替换。
        // 不需要请留空:""
        "hook": "bash ./natter-hook.sh '{protocol}' '{inner_ip}' '{inner_port}' '{outer_ip}' '{outer_port}'",
        "status_file": "./natter-status.json"   // 将实时端口映射状态储存至指定文件,不需要请留空:""
    },
    "open_port": {
        // 此处设置 Natter 打洞IP:端口。(仅打洞)
        // 此处地址为 Natter 绑定(监听)的地址,Natter 仅对这些地址打洞,您需要手动设置端口转发。
        // 注意:使用默认出口IP,请使用 0.0.0.0 ,而不是 127.0.0.1 。
        "tcp": [
            "0.0.0.0:3456",
            "0.0.0.0:3457"
        ],
        "udp": [
            "0.0.0.0:3456",
            "0.0.0.0:3457"
        ]
    },
    "forward_port": {
        // 此处设置需要 Natter 开放至公网的 IP:端口。(打洞 + 内置转发)
        // Natter 会全自动打洞、转发,您无需做任何干预。
        // 注意:使用本机IP,请使用 127.0.0.1,而不是 0.0.0.0 。
        "tcp": [
            "127.0.0.1:80",
            "192.168.1.100:443"
        ],
        "udp": [
            "127.0.0.1:53",
            "192.168.1.100:51820"
        ]
    },
    "stun_server": {
        // 此处设置公共 STUN 服务器。
        // TCP 服务器请确保 TCP/3478 端口开放可用;
        // UDP 服务器请确保 UDP/3478 端口开放可用。
        "tcp": [
            "stun.stunprotocol.org",
            "stun.voip.blackberry.com"
        ],
        "udp": [
            "stun.miwifi.com",
            "stun.qq.com"
        ]
    },
    "keep_alive": "www.qq.com"  // 此处设置 HTTP Keep-Alive 服务器。请确保该服务器 80 端口开放,且支持 HTTP Keep-Alive。
}

方案

推荐方案:

光猫设置桥接模式,在路由器系统如 OpenWRT 上直接运行 Natter(仅经过一层 NAT)

可行方案:

在子网中的主机上运行 Natter,在光猫或路由器上对其开启 DMZ 功能,或对需要开放的端口设置端口转发。(经过多层NAT)

大概率会失败的情形

不满足基本条件:

经过测试,我的网络不是 NAT 1

多层非可控 NAT:

光猫处于路由模式,我无法关闭光猫的防火墙,并对其设置 DMZ 主机或改桥接;

运营商设置了防火墙:

我在外部网络使用 nmap 对出口 IP 地址进行 TCP 全端口扫描,发现均为 filtered 。

效果

更多精彩文章 欢迎关注我们

相关阅读

  • 普通人如何做一个长期主义者

  • "处于时代路口的人们常满心疑窦,无法相信和行动,长期主义的呼唤就会应运而生。长期主义是一种宏大的投资和经营策战略。对普通人而言,认真生活即是长期主义。这些事很小,藏匿在
  • 谷歌聊天机器人开启公测,抓紧申请体验~

  • “设为星标”第一时间接收推送,精彩内容不容错过!前言最近科技界一直在被chatGPT来回刷屏,中间一个叫文言一心的准备凑个热闹,结果就成了被大家拿来跟chatGPT作对比的最佳对象,如
  • Java 20 正式发布,超神了.....

  • 老铁们,JDK 20 / Java 20 正式发布了,这版本号简直超神了。。JDK 20 是一个短期维护版本,将获得六个月的支持。尽管如此,但它仍然可用于生产环境中。根据开发计划,下一个 LTS 版
  • 期刊 |《清华法学》2023年第2期要目

  • 全文转载自“清华法学”微信公众平台01行政行为概念的立体程序化改造作者:黄宇骁(上海交通大学凯原法学院)内容摘要:为避免替代理论的推倒重来,只有拿出具体改造方案,行政行为概念
  • 今日逗图:不 解 风 情

  • 本文图片均来自网络如有侵权,请联系我们删除本文内容只为博君一笑,请勿当真AI越来越离谱了这舞蹈姿势挺新颖佛系奥特曼一毛一样从垃圾堆起飞每天都是山珍海味扬州炒饭雪糕?有多
  • 白天春困,晚上失眠怎么办?试试这些方法

  • “春眠不觉晓”,却总有人饱受失眠困扰。进入了春困+失眠的尴尬模式怎么办?市卫健委提供了几个养生小妙招,一起试试。春季为什么要关注睡眠?在季节变化的节点日照、气候变化会影

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • “看云识天气”,气象谚语可信吗?

  • “朝霞不出门,晚霞行千里”“天上钩钩云,地上雨淋淋”……类似这样的气象类谚语你还知道哪些?气象谚语包含了古人的生活经验与智慧但这些谚语真的可信吗世界气象日@中央气象台
  • 36张图,一次性补全网络基础知识

  • ↓推荐关注↓转自:网络工程师笔记OSI和TCP/IP是很基础但又非常重要的知识,很多知识点都是以它们为基础去串联的,作为底层,掌握得越透彻,理解上层时会越顺畅。今天这篇网络基础科
  • 三个高级特性,将您的 C# 技能提升到新高度

  • 点击上方蓝字 ● 关注Linux公社 C# 就像约会一样,既令人沮丧又充满回报。在我作为一名 C# 开发人员的经历中,我被高水平的程序员所包围,他们推动我认识到在这个行业中取得
  • 利用TCP 打洞实现公网访问

  • 本文我们简单的说说利用Python进行Nat打洞,实现内网端口映射。无需公网IP,无需公网服务器。有手即可!克隆项目git clone https://github.com/MikeWang000000/Natter.git#检查网
  • 可悲的现实,大部分技术领导者可能并不称职

  • 作者|许晓斌 编辑|孙瑞瑞 本文由 InfoQ 整理自阿里巴巴资深工程师 许晓斌 在 QCon 全球软件开发大会(北京站)2022 上的演讲《技术领导力实战》。 大家好,我是许晓斌,目前就