在公司如何访问家里的电脑?实现方法有很多,其它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打洞相关推荐

  1. P2P内网穿透之Nat类型介绍及Nat类型检测16种NAT组合穿透操作指南整理

    目录 根据RFC 3489规定 Nat共分以下类型: 第一部分: NAT类型介绍 Full Cone NAT: Restricted Cone NAT: Port Restricted Cone NA ...

  2. 什么是内网穿透技术?简单实用、永久免费内网穿透工具有哪些?

    内网穿透即是内网映射,内网(IP)端口映射外网(IP或域名),以实现将内网服务器.网站.和应用发布到外网访问的目的.通常在内网网络环境搭建服务器(解决无公网IP问题),需要外网访问内网场景(如远程办公 ...

  3. NAT-DDNS内网穿透技术,解决动态域名解析难题

    进行 NAT 穿透,是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机.对于穿透类型,一般分为两大类,一是基础NAT,另一个是NAPT,大家可能并不怎么了 ...

  4. NAT-DDNS内网穿透技术,快解析DDNS的优势

    进行 NAT 穿透,是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机.对于穿透类型,一般分为两大类,一是基础NAT,另一个是NAPT,大家可能并不怎么了 ...

  5. 基于个人服务器的P2P内网穿透

    前言 作为一个重度桌游爱好者,最近和小伙伴沉迷TTS(桌游模拟器),但是TTS是基于P2P进行连接的,如果小伙伴都不在一个网络节点上就会非常卡顿,为了更好的玩游戏,最后使用了基于zerotier的内网 ...

  6. “攻城狮”手把手教你物联网智能生活-内网穿透技术

    "攻城狮"手把手教你物联网智能生活-内网穿透技术 内网穿透技术,即实现外网IP访问内网IP而发展起来的一种计算机技术.在了解内网穿透技术之前,我们需要先了解IP和内网外网的概念. ...

  7. 内网穿透技术有哪些(经验分享)

    内网穿透技术:说到内网穿透,相信很多人肯定一知半解,到底什么是内网穿透呢!什么情况下需要内网穿透呢!接下来给大家简单的述说一下原理,内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特 ...

  8. 为什么需要内网穿透技术?

    随着互联网技术的快速发展,企业和个人越来越依赖于网络资源,而内网穿透技术正是解决远程访问内网资源的关键.本文将详细介绍内网穿透的概念及其重要性,以帮助您了解为什么我们需要使用内网穿透技术. 目录 一. ...

  9. MS17-010漏洞检测与内网穿透技术的应用

    0x00 前言 本文主要介绍一下MSF模块的下载.使用,以及当攻击机处于内网,而目标机也处于内网的解决方法.这里借助MS17-010漏洞来具体讲解一下,并没有新的知识点,可以为刚入门的新手抛砖引玉,提 ...

最新文章

  1. Android编译笔记之五
  2. 如何从零开始,成为element-plus的contributor
  3. [转载]使用消息队列实现分布式事务-公认较为理想的分布式事务解决方案
  4. 云计算学习笔记003---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
  5. [转载]从菜鸟到架构师
  6. python实现485通讯_Python编程实现USB转RS485串口通信
  7. 面向对象16:代码块、final关键字
  8. pe制作linux硬盘的镜像文件_制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)
  9. 电力载波通信模块JST-HPLC-S-C在物联网通信领域的应用
  10. 服务器系统怎么做ghost备份,手动ghost备份系统的具体操作步骤【图文教程】
  11. 深圳内推 | 深圳计算科学研究院招聘机器学习助理工程师(校招)
  12. Java中serialVersionUID作用
  13. Thinkpad E430c安装Ubuntu14.04第三方驱动的选择
  14. 关于百度SDK的返回错误-PERMISSION UNFINISHED
  15. 基于时空注意力的图卷积网络在路段级交通预测中的应用
  16. 【算法系列】数据预处理全面介绍
  17. 关于计算机物联网的文章,物联网认识论文3000字_关于物联网认识论文3000字_物联网导论论文3000字...
  18. 德语语法笔记——冠词的用法
  19. 最佳开源应用程序:图形/图像处理软件
  20. MySQL的MVCC机制看完这篇你还不懂,算我输

热门文章

  1. 普通用户使用sudo命令,获得管理员权限
  2. MySQL创建、更改数据表(CREATE TABLE语句)
  3. Valine评论系统
  4. 初学者的购买指南,蓝牙麦克风
  5. 南京理工大学紫金学院计算机网络试卷,0信息技术试题a卷答案
  6. 关于学习VUEX的学习记录
  7. 信用卡什么原因会被冻结
  8. golang实现一个linux命令ls命令(命令行工具构建)
  9. SAP HANA 数据库升级步骤(生产真实环境)
  10. 军职在线大学生计算机基础,军职在线演讲与口才答案第一章