【工具使用】应用层DNS协议工具—iodine

【工具使用】应用层DNS协议工具—iodine0x01iodine 工具介绍 iodine 工具是基于 C 语言开发的 分为服务端程序 iodined 和客户端 iodine iodine 支持 EDNS base32 base64 base128 等多种编码规范 iodine 支持转发模式和中继模式 iodine 原理 通过 TAP 虚拟网卡 在服务端建立一个局域网 在客户端 通过 TAP 建立一个虚拟网卡 两者通过 DNS 隧道连接 处于同一局域网 可以通过 ping 命令通信 在客户端和服务端之间建立连接后 客户机上会多出一块 dns0 的虚拟网卡 DNS 隧道

0x01 iodine 工具介绍

iodine工具是基于C语言开发的,分为服务端程序 iodined客户端 iodine,iodine支持 EDNS、base32、base64、base128等多种编码规范。

iodine支持转发模式中继模式

iodine原理:通过TAP虚拟网卡,在服务端建立一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接,处于同一局域网(可以通过ping命令通信),在客户端和服务端之间建立连接后,客户机上会多出一块 “dns0” 的虚拟网卡。

DNS隧道流程:iodine客户端 -> DNS服务商 -> iodined服务端,由于客户端和服务端都在一个局域网,那么只需要直接访问服务端,如 3389 (直接使用 mstsc) 、22 (ssh 建立连接) 。

与同类工具相比,iodine具有如下几种特点:

->不会对下行数据进行编码 ->支持多平台(Linux、Windows、MacOS) ->支持16个并发连接 ->支持强密码机制 ->支持同网段隧道IP低质(不同于服务器——客户端网段 ->支持多种DNS记录类型 ->提供了丰富的隧道质量检测措施 

0x02 使用iodine搭建隧道

一、部署域名解析

首先,需要有一台公网VPS作为 C&C 服务器,并准备一个域名,去配置域名的记录, 先创建一个 “A” 记录,将自己的域名(NS记录类型的记录值)解析到VPS服务器地址,然后创建NS记录,将NS的主机记录名指向记录值。

再来测试NS类型解析是否可用,在VPS上使用tcpdump进行监听

命令:tcpdump -n -i eth0 udp dst port 53 

二、安装iodine服务端并启动

在这里插入图片描述
执行以下命令启动服务端

iodined -f -c -P password 192.168.100.100 xxx.xxx.xyz -DD -f:在前台运行 -c:禁止检查所有传入请求的客户端IP地址 -P:指定密码 -D:指定调试级别。-DD 指第二级,D的数量随等级增加 这里的192.168.100.100是自定义的局域网虚拟IP地址 

在这里插入图片描述
启动完后,可以通过iodine检查页面:[[点击前往]]](https://code.kryo.se/iodine/check-it/)检查配置是否正确,如下表示配置成功!
在这里插入图片描述
这时,回到服务端可以看到VPS上多了一块网卡(dns0),ip是我们设置的 192.168.100.100
在这里插入图片描述
三、安装iodine客户端并启动




以Windows系统为例

以Linux系统为例

执行以下命令:iodine -f -P password xxx.xxx.xyz 

0x03 使用DNS隧道

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233787.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • glPushMatrix 与 glPopMatrix[通俗易懂]

    glPushMatrix 与 glPopMatrix[通俗易懂]1.原理讲解 终于明白为什么使用glPushMatrix()和glPopMatrix()的原因了。将本次需要执行的缩放、平移等操作放在glPushMatrix和glPopMatrix之间。glPushMatrix()和glPopMatrix()的配对使用可以消除上一次的变换对本次变换的影响。使本次变换是以世界坐标系的原点为参考点进行。下面对上述结论做进一步的解释:1)OpenGL中

    2022年10月28日
    0
  • linux下mysql开启远程访问权限及防火墙开放3306端口

    linux下mysql开启远程访问权限及防火墙开放3306端口

    2021年10月19日
    41
  • 自动定时执行任务、定时任务执行的几种实现方法

    自动定时执行任务、定时任务执行的几种实现方法自动定时执行任务,常见的方法有三种:Windows任务计划程序WindowsService定时执行软件(例如:定时执行专家)这三种方法大多数人都用过,我在这里只做一个比较简单的介绍和小结,

    2022年7月2日
    27
  • JavaSE02-基本语法

    JavaSE02-基本语法1.注释注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。Java中的注释分为三种:单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为

    2022年8月1日
    7
  • vue中解决跨域问题_js跨域解决方案

    vue中解决跨域问题_js跨域解决方案如果你是一个Web前端工程师,那么跨域这个问题肯定是绕不开的!1.创建vue.config.js设置devServer属性module.exports={devServer:{//webpack-dev-server配置host:’localhost’,port:8080,//配置本项目运行端口proxy:{…

    2022年9月17日
    0
  • 大气压力换算公式_气压单位换算表(压力单位换算公式大全)

    大气压力换算公式_气压单位换算表(压力单位换算公式大全)1bar=105Pa,一个标准大气压=1.01325*105Pa;1bar=0.98665标准大气压1巴(bar)=100,000帕(Pa)=10牛顿/平方厘米=0.1MPa是压强的单位,早先气象学中常用毫巴.咱们这教材,气压单位一会是hPa,一会是mb,也不说声是什么意思,网上又。mb=mbar毫巴(=百帕)mbar毫巴(=百帕)hPa百帕1百帕=1毫巴=3/4毫米水银柱.参考资料…

    2022年7月11日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号