DNS2TCP流量转发绕过网络认证


简介 :

常见的内网环境中 , 防火墙可能会限制只允许 udp 53 端口出站
这样就可以利用 DNS 查询流量来封装 TCP 流量 , 达到绕过防火墙的目的
例如 : 
CMCC / 机场 / 火车站 等需要认证才可以链接互联网的网络环境

准备 :

1. 一台公网VPS
2. 一个可控域名


方法一 (dns2tcp)

Client

dns2tcpc -z dns.domain.com -d 2 -k password -l 4444 -r ssh
-d Debug level
-k 密码
-l 本地监听端口
-r 请求的资源
-z 指定可控的域名

Server

==================================
listen = 0.0.0.0
port = 53
# If you change this value, also change the USER variable in /etc/default/dns2tcpd
user = nobody
key = password
chroot = /tmp
domain = dns.domain.com
resources = ssh:127.0.0.1:22
==================================
dns2tcpd -F -d 1 -f /etc/dns2tcpd.conf

Domain

1. 新建一条 A 记录例如 ns1 , 指向之后要作为 DNS 服务器的 VPS (8.8.8.8)
记录类型 A , 记录值 ns1 , 指向 8.8.8.8 
2. 新建一条 NS 记录
记录类型 NS , 记录值 dns , 指向 ns1.domain.com

Screen shot cut

image.png
Screenshot from 2017-07-23 23-10-28.png

方法二 : (iodine)

特点 : 
1. 直接在本地和服务器分别模拟出两张虚拟网卡 , 直接通过虚拟网卡通信
2. 下行流量不加密 , 效率更高

Server

iodined -c -f -D 10.0.0.1 dns.domain.com
-c 启用压缩
-f 前端运行
-D debug 模式

Client :

iodine -f dns.domain.com

Domain

同方法一

参考资料 :

http://www.adeptus-mechanicus.com/codex/dnstun/dnstun.php
http://code.kryo.se/iodine/README.html
http://www.hsc.fr/ressources/outils/dns2tcp/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • 10点半睡,6点半起,2+6.5=8.5小时有核心技术的人,才能活到最后。 iOS 阅读整理在sourcetree...
    士梦阅读 3,095评论 0 18
  • 要不是英语渣,何至于此唉。 Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有...
    luban_阅读 18,000评论 0 1
  • 上周回老家办事,乘火车回来的路上,对面的一对父女吸引了我的注意: 小姑娘大概7、8岁大,一刻不停地在向父亲撒娇,试...
    梁健嘉阅读 221评论 0 1
  • ——萍子 峡谷之间 氤氲着朦胧的薄雾 水上泛起的波浪开始苏醒 一圈圈涟漪在水上撒着欢 偶有船只鸣笛而过 林子...
    萍子星空阅读 145评论 1 3