p2p内网穿透技术-udp打洞
在公司如何访问家里的电脑?实现方法有很多,其它p2p传输文件最快,能否实现?
udp打洞原理
假设有两台分别处于各自的私有网络中的主机:A和B;N1和N2是两个网络的NAT设备,分别拥有IP地址P1和P2;S是一个使用了一个众所周知的、从全球任何地方都能访问得到的IP地址的公共服务器步骤一:A和B分别和S建立UDP连接;NAT设备N1和N2创建UDP转换状态并分配临时的外部端口号步骤二:S检查UDP包,看A和B的端口是否是正在被使用的(否则的话N1和N2应该是应用了端口随机分配,这会让路由验证变得更麻烦)步骤三:如果端口不是随机化的,那么A和B各自选择端口X和Y,并告知S。S会让A发送UDP包到P2:Y,让B发送UDP包到P1:X步骤四:A和B通过转换好的IP地址和端口直接联系到对方的NAT设备;
udp打洞成功前提条件–非对称NAT
完全圆锥型NAT: 无条件转发
受限圆锥型NAT: 忽略掉其它主机的数据包(要求来源ip一直)
端口受限圆锥型NAT: 更进一步地要求源端口(上例中是 2727)必须跟之前发出的数据包的目的端口一致(要求来源ip和端口)
对称NAT: 丢弃报文,拒绝转发(每次连接端口会变)
对称NAT理论上可以使用端口预测,但是基本上用不了。现在国内几个宽带运行商都是使用对称NAT,所以udp打洞不可行。
记得之前上学的时候p2p共享软件很多,后来都销声匿迹,应该是被管控了。
socat测试udp打洞。
下面是socat打洞的例子,试过在公司与家里之间打洞,用不了被现实了
https://blog.lilydjwg.me/2012/8/28/udp-hole-punching-experiment.35350.html
frp测试udp打洞
frp采用xtcp协议,试过同样用不了。stcp可以用,但是不是p2p,要经过中间转发。
检查nat类型?
#python直接用pynat包
pip install pynat
pynat
C:\Users\wyq>pynat
Network type: Symmetric NAT #对称nat
Internal address: 192.168.50.169:54320
External address: xxx.xxx.xxx.xxx:61195
内网穿透可行方法
方法 | 描述 | 实现条件 | 是否可行 |
---|---|---|---|
p2p | udp打洞 | 非对称nat | 不可行。宽带基本都是对称nat。除非在自己公网ip上提供p2p穿透 |
ddns | 路由器使用有公网ip | 宽带提供了公网ip | 不可行。路由器基本没有公网ip |
端口转发 | 将端口映射到公网ip | 需要公网ip | 可行 |
vpn | 要求有公网ip节点,运行vpn服务端 | 需要公网ip | 可行 |
参考来源
http://www.yongqingking.top/vps/2018/11/25/dig-hole.html
此生必看的科学实验-水知道答案
《了凡四训》详解之改过之法
印光大师十念法(胡小林主讲第1集)
精神病为什么治不好
百病之源
p2p内网穿透技术-udp打洞相关推荐
- P2P内网穿透之Nat类型介绍及Nat类型检测16种NAT组合穿透操作指南整理
目录 根据RFC 3489规定 Nat共分以下类型: 第一部分: NAT类型介绍 Full Cone NAT: Restricted Cone NAT: Port Restricted Cone NA ...
- 什么是内网穿透技术?简单实用、永久免费内网穿透工具有哪些?
内网穿透即是内网映射,内网(IP)端口映射外网(IP或域名),以实现将内网服务器.网站.和应用发布到外网访问的目的.通常在内网网络环境搭建服务器(解决无公网IP问题),需要外网访问内网场景(如远程办公 ...
- NAT-DDNS内网穿透技术,解决动态域名解析难题
进行 NAT 穿透,是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机.对于穿透类型,一般分为两大类,一是基础NAT,另一个是NAPT,大家可能并不怎么了 ...
- NAT-DDNS内网穿透技术,快解析DDNS的优势
进行 NAT 穿透,是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机.对于穿透类型,一般分为两大类,一是基础NAT,另一个是NAPT,大家可能并不怎么了 ...
- 基于个人服务器的P2P内网穿透
前言 作为一个重度桌游爱好者,最近和小伙伴沉迷TTS(桌游模拟器),但是TTS是基于P2P进行连接的,如果小伙伴都不在一个网络节点上就会非常卡顿,为了更好的玩游戏,最后使用了基于zerotier的内网 ...
- “攻城狮”手把手教你物联网智能生活-内网穿透技术
"攻城狮"手把手教你物联网智能生活-内网穿透技术 内网穿透技术,即实现外网IP访问内网IP而发展起来的一种计算机技术.在了解内网穿透技术之前,我们需要先了解IP和内网外网的概念. ...
- 内网穿透技术有哪些(经验分享)
内网穿透技术:说到内网穿透,相信很多人肯定一知半解,到底什么是内网穿透呢!什么情况下需要内网穿透呢!接下来给大家简单的述说一下原理,内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特 ...
- 为什么需要内网穿透技术?
随着互联网技术的快速发展,企业和个人越来越依赖于网络资源,而内网穿透技术正是解决远程访问内网资源的关键.本文将详细介绍内网穿透的概念及其重要性,以帮助您了解为什么我们需要使用内网穿透技术. 目录 一. ...
- MS17-010漏洞检测与内网穿透技术的应用
0x00 前言 本文主要介绍一下MSF模块的下载.使用,以及当攻击机处于内网,而目标机也处于内网的解决方法.这里借助MS17-010漏洞来具体讲解一下,并没有新的知识点,可以为刚入门的新手抛砖引玉,提 ...
最新文章
- Android编译笔记之五
- 如何从零开始,成为element-plus的contributor
- [转载]使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案
- 云计算学习笔记003---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
- [转载]从菜鸟到架构师
- python实现485通讯_Python编程实现USB转RS485串口通信
- 面向对象16:代码块、final关键字
- pe制作linux硬盘的镜像文件_制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)
- 电力载波通信模块JST-HPLC-S-C在物联网通信领域的应用
- 服务器系统怎么做ghost备份,手动ghost备份系统的具体操作步骤【图文教程】
- 深圳内推 | 深圳计算科学研究院招聘机器学习助理工程师(校招)
- Java中serialVersionUID作用
- Thinkpad E430c安装Ubuntu14.04第三方驱动的选择
- 关于百度SDK的返回错误-PERMISSION UNFINISHED
- 基于时空注意力的图卷积网络在路段级交通预测中的应用
- 【算法系列】数据预处理全面介绍
- 关于计算机物联网的文章,物联网认识论文3000字_关于物联网认识论文3000字_物联网导论论文3000字...
- 德语语法笔记——冠词的用法
- 最佳开源应用程序:图形/图像处理软件
- MySQL的MVCC机制看完这篇你还不懂,算我输