一、源码下载Iodine下载地址 GitHub:https://github.com/yarrick/iodine
二、源码编译执行make命令以编译服务端和客户端二进制文件 。运行make install以将二进制文件复制到目标目录 。运行make test以编译并运行单元测试 。
文章插图
文章插图
编译以后文件如下:
文章插图
在bin目录下,有iodine和iodined两个文件,分别为服务端和客户端 。
文章插图
三、隧道工具运行(1)、参数说明
文章插图
-4 使用IPv4请求
-6 使用IPv6请求
-f 保持前台运行
-r 强制使用DNS隧道进行传输
-P password
-m 最大传输大小
-M 最大传输长度
【使用Iodine进行DNS隧道搭建】-T 传输类型
-O 编码类型
Iodine支持多种DNS请求类型,并且NULL和PRIVATE类型期望提供最大的下载带宽 。该PRIVATE类型在专用范围内使用值65399 。其他可用的类型有TXT,SRV,MX,CNAME和A(返回CNAME) 。通常Iodine会自动检测并使用“最佳”请求类型,但是,DNS中继可能会对NULL和TXT施加限制,从而使SRV或MX实际上是最佳选择 。但是可以使用该-T选项强制使用设定类型 。
(2)、运行
服务端运行,执行 iodined -f 10.0.0.1 test.com
文章插图
Listening to DNS for domain test.com,服务端开始监听所有 test.com的DNS请求,所有指令数据等均通过请求域名的子域进行传输 。
客户端运行,执行 iodine -f -r 192.168.XXX.XXX (服务端IP地址)
文章插图
Connected setup complete, transmitting data,客户端运行后,可以发送指令、连接ssh进行数据传输等等 。
四、命令传输新开窗口,运行tcpdump -i dns0 port 53 -w file.pcap,其中参数-i 指定网卡,port 指定端口,DNS使用53端口,-w 写入文件 。
文章插图
ssh连接,执行 ssh root@10.0.0.1
文章插图
显示抓取了166个包
文章插图
使用wireshark打开保存的pcap文件,因为我们监听的是ens33网卡,所以会有正常的DNS流量,比如192.168.221.2与192.168.221.129之间的通信,其中192.168.221.129是无服务端,192.168.221.2为网关地址,192.168.221.130为客户端地址 。
文章插图
可以看到DNS查询和响应使用了多种类型,包括A、AAAA、PTR、NULL等 。打开一个响应报文,如下:
文章插图
文章插图
推荐阅读
- 网吧无盘技术无盘服务器管理系统使用手册
- 在MySQL中怎样进行跨库查询?
- Windows电脑如何使用坚果云的云桥模式?
- 淘宝直通车怎么使用教程 淘宝如何开通直通车
- 荣耀手环zero怎么使用 荣耀手环的基本功能介绍
- 淘宝店铺订单险在哪里设置 淘宝订单险怎么使用
- 小米手环的功能 小米手环的使用说明
- MySQL慢查询日志的配置与使用
- mysql界面工具navicat premium的使用
- 胎心140以上能看出性别吗