上次我们介绍了如何在Windows Server中构建DNS服务器:如何在Windows Server2008搭建DNS服务并配置泛域名解析。
由于学校部分内网与跟外网不通,所以在校园网或者外网的情况下,连接不到内网服务器,看不了内网的网站。但是有时候我会需要在自己宿舍或者家里连接学校的内网服务器,看一下内网网站,一开始想到的是内网服务器搭建ss服务器,然后一想,怎么对外网IP映射端口呢,我又没有路由器权限。想来想去,还是直接用内网穿透的工具吧。
持续更新,C语言编写,官方:http://code.kryo.se/iodine/
在上篇《IPv6技术详解:基本概念、应用现状、技术实践(上篇)》,我们讲解了IPV6的基本概念。
iodine是基于C语言开发的,分为服务端和客户端。iodine支持转发模式和中继模式。其原理是:通过TAP虚拟网卡,在服务端建立一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接,处于同一个局域网(可以通过ping命令通信)。在客户端和服务器之间建立连接后,客户机上会多出一块名为dns0的虚拟网卡。
作者:田逸( sery@163.com) <开放系统世界> 2006年10期
dnscat2是一款开源软件,使用DNS协议创建加密的C&C通道,通过预共享密钥进行身份验证;使用Shell及DNS查询类型(TXT、MX、CNAME、A、AAAA),多个同时进行的会话类似于SSH中的隧道。dnscat2的客户端是有Windows版和Linux版,服务端是用Ruby语言编写的。严格的说,dnscat2是一个命令与控制工具。
目前市面上用的比较多的服务发现中心有:Nacos、Eureka、Consul和Zookeeper。
DNS协议又称域名系统是互联网的基础设施,只要上网就会用到,因而DNS协议是提供网络服务的重要协议,在黑客进入内网后会使用DNS、ICMP、HTTP等协议隧道隐藏通信流量。本文通过DNS隧道实验并对流量进行分析,识别DNS隧道流量特征。
*本文原创作者:novsec,本文属FreeBuf原创奖励计划,未经许可禁止转载 DNS Tunneling,是隐蔽信道的一种,通过将其他协议封装在DNS协议中传输建立通信。 因为在我们的网络世界中D
公司有台嵌入式拨号上网设备,内置 busybox 和完整 wget 命令(支持https协议),但没有 curl、python、ruby、php 等扩展工具可用。网上现有基于DNSPod实现的Linux脚本无法在该设备上运行,于是写了个Shell版动态域名客户端(ddnspod-shell),现在发布出来希望能给需要的朋友带来一些方便。
Iodine,直译过来就是碘。碘元素在元素周期表中序号为53,正好是DNS使用的端口号。 该工具用于建立DNS隧道,其分为服务端和客户端两部分(也常称为主控端和被控端),客户端对服务器端发送DNS请求建立连接。这两部分都是用C语言编写,支持EDNS、base32、base64、base128等多种编码规范。 DNS隧道常分为中继和直连两种类型,中继是指DNS通过外网DNS服务器转发到服务端,直连是指直接通过服务端IP进行连接。Iodine对这两种类型都有支持。同时,Iodine支持多种DNS查询类型,包括NULL,TXT,SRV,MX,CNAME,A等。 iodine原理:通过TAP虚拟网卡,在服务端建立一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接,处于同一局域网(可以通过ping命令通信),在客户端和服务端之间建立连接后,客户机上会多出一块 “dns0” 的虚拟网卡。 DNS隧道流程:iodine客户端 -> DNS服务商 -> iodined服务端,由于客户端和服务端都在一个局域网,那么只需要直接访问服务端,如 3389 (直接使用 mstsc) 、22 (ssh 建立连接) 。 与同类工具相比,iodine具有如下几种特点:
nc就是netcat,官网:https://eternallybored.org/misc/netcat/
目前国家工信部在大力推动三大运营商发展 IPv6,对家用宽带而言,可以使用的 IPv4 公网 IP 会越来越少。有部分地区即使拿到了公网 IPv4 地址,也是个大内网地址,根本不是真正的公网 IP,访问家庭内网的资源将会变得越来越困难。
在 WSL2 环境中 clone 一个很大的 git 项目,不走代理速度很慢,所以研究了一下怎么让 WSL2 走 Windows 的代理客户端。
自带WEB管理的轻量级内网穿透工具NPS的各种搭建方式和使用教程,支持X86、ARM、MIPS平台。
环境:Linux服务器一台(双网卡) 内网IP:192.168.80.101 设置为vmnet1 外网IP:192.168.90.101 设置为vmnet2 Linux客户端一台,IP地址:192.168.80.102 设置为vmnet1 Win7客户端一台,IP地址:192.168.90.10 设置为vmnet2
Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。 Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。
GoScan是一款交互式网络扫描客户端,可用来执行主机扫描、端口扫描和服务枚举等任务。它不仅可在时间有限的情况下完成高难度任务,而且还支持进行专业的安全管理。
github:https://github.com/alex-sector/dns2tcp
https://nmap.org/dist-old/nmap-5.35DC1-setup.exe
Nacos是阿里zhuc中间件团队开源的一款服务发现、配置和管理微服务的中间件,关键的特性包括:
SSH,其全称是Secure Shell(安全外壳协议)是一种加密的网络传输协议。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令,即:远程Terminal登录。
究其根本因素在于, 在传统架构中如果两个位于多层 NAT(简单理解为多个路由器)之后的设备, 只能通过一些中央 (VPN / 远程软件) 中转服务器进行链接, 这时网络连接速度取决于中央服务器带宽和速度; 这种网络架构我这里简称为: 星型拓扑
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。 DNS 的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space)。如图所示树的最大深度不得超过127 层,树中每个节点都有一个可以长达63 个字符的文本标号。
Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上半数以上的DNS服务器有都是用Bind来架设的,已经成为DNS中事实上的标准。
目前游戏行业仍是攻击的重灾区,这个产品也应运而生,采用分布式节点部署,攻击流量分散在不同的节点上,可以无上限防御DDOS,CC攻击其他协议攻击等。非常全面的防御各种攻击入侵渗透,同时为用户访问加速。
DNS 是域名系统(Domain Name System) 的缩写,它的功能是将域名解析成ip。我们日常上网浏览网页时,在浏览器(如:IE)的地址栏中常输入的是网站的网址,其实网址这个概念在专业的角度称为域名,即:网址=域名。
设置DHCP的Windows或Linux客户端通过虚拟网卡Vmnet1与虚拟机Vmware中的DHCP服务器(RHEL7系统)实现双机互通,DHCP服务器地址必须设置为固定IP地址,本次试验设置为192.168.100.20。
服务器和客户端都是电脑,在硬件层面上没有明显的划分,配置很差的个人电脑任然可以作为服务器。
我们首先通过 Linux 下的dig命令来了解一下 DNS 是怎么做域名解析的。我们首先输入命令:
本文作者:robintang,腾讯 WXG 后台开发工程师。转载自「 云加社区」。 就在昨天,2019 年 11 月 26 日,全球 43 亿个 IPv4 地址正式耗尽,很多人表示忧虑。不过不用担心,IPv4 的下一代 IP 协议 IPv6 将会从根本上解决 IPv4 地址耗尽的问题。 下面通过一篇长文来了解下什么是 IPv6。 主要内容包括: IPv6 的基本概念 IPv6 在 Linux 操作系统下的实现 IPv6 的实验 IPv6 的过渡技术介绍 IPv6 在 Linux 平台下 socket
NPS是一款好用的内网穿透工具,不过相比于FRP还是稍微比较麻烦一点,原因在于NPS的服务端需要安装。
在之前的文章中,我们介绍了两种内网穿透工具frp和zerotier。frp可参照《利用frp工具实现内网穿透、随时随地访问内网服务》,zerotier可参照《ZeroTier实现内网穿透、异地组网》。
DNS隧道(DNS Tunneling)也是隐蔽隧道的一种方式,通过将其他协议封装在DNS协议中传输建立通信。大部分防火墙和入侵检测设备很少会过滤DNS流量,这就给DNS隧道提供了条件,可以利用它实现诸如远程控制、文件传输的操作。使用dns搭建隧道的工具也有很多,比如dnscat2、DNS2tcp、iodine等。由于iodine工具使用比较稳定,这里使用iodine进行演示,它可以通过一台dns服务器制作一个Ipv4通道,iodine分为客户端和服务端,Iodine不仅有强制密码措施,还支持多种DNS记录类型,而且支持16个并发连接,因此很多时候Iodine是DNS隧道的第一选择。
若您的linux无法使用ifconfig命令,请使用 yum -y install net-tools dig命令,nslookup命令,请使用 yum -y install bind*
linux的DNS服务器查找顺序: 首选服务器的DNS缓存→首选服务器自己所负责的域→向外迭代查询信息。
本⽂以爱奇艺开源的⽹络协程库(https://github.com/iqiyi/libfiber )为例,讲解⽹络协程的设计原理、编程实践、性能优化等⽅⾯内容。
当我们在浏览器输入一个网址,然后按下回车,接下来浏览器显示了页面。网速好的话这之间可能就一秒,但在这一秒内到底发生了什么?
Web服务器是一台使用HTTP协议与客户机浏览器进行信息交流(因此又称为HTTP服务器)、为互联网客户提供服务(信息浏览,下载资源等)的主机。发展趋势:从HTML到XML、从有线到无线、从无声到有声
判断:445通讯 通过端口扫描是否开放445端口进行判断 上线:借助通讯后绑定上线 详见往期文章 通讯:直接SMB协议通讯即可
我们在之前的教程中创建的DNS服务器是一个开放DNS解析器。开放解析器不会过滤任何来源请求,并会接受来自所有IP的查询。
DNS从右往左(www.刘昊然.com) 分为 根DNS服务器(最上层看不见),顶级域DNS服务器(com),权威DNS服务器(刘昊然.com)。
WireGuard 是由 Jason A. Donenfeld 等人创建的下一代开源 VPN 协议,旨在解决许多困扰 IPSec/IKEv2、OpenVPN 或 L2TP 等其他 VPN 协议的问题。2020 年 1 月 29 日,WireGuard 正式合并进入 Linux 5.6 内核主线。
当你在浏览器中输入域名访问网站时,它首先会向 DNS 服务器发送请求来查找域名对应的 IP 地址。找到 IP 地址之后,就会通过 IP 定位到对应的服务器然后获取网站的内容。这整个过程仅仅只需要几毫秒。DNS 默认是运行在 53 端口上。
resolv.conf是在各种操作系统中用于配置系统的域名系统(DNS)解析器的计算机文件的名称。该文件是一个纯文本文件,通常由网络管理员或管理系统配置任务的应用程序创建。
DNS服务器的区域文件中也支持同一域名对应多个ip,则在解析时,客户端可获得不同排序的多个ip,从而在DNS上实现对服务器其的负载均衡功能,被称为轮询功能。其实若不做特殊指定,DNS默认是把多个ip轮流排序显示给客户的。配置如下:
DHCP: 动态主机配置协议Dynamic host configuration protocol DHCP工作在OSI的应用层,可以帮助计算机从指定的DHCP服务器获取配置信息的协议。(主要包括:ip地址,子网掩码,网关和dns等) 工作原理: 1、客户机寻找服务器:广播发送discover包,寻找dhcp服务器 2、服务器响应请求:单播发送offer包,对客户机做出响应。提供客户端网络相关的租约以供选择 其中服务器在收到客户端的请求后,会针对客户端的mac地址与本身的设定数据进行一下工作: a、到服务器的登录文件中寻找该用户之前曾经使用过的ip,若有且该ip目前没有人使用,这提供此ip为客户机 b、若配置文件中有针对该mac提供额外的固定ip,且该ip没有被使用,则提供此ip给客户机 c、如果没有符合以上两个条件,则随机取用目前没有被使用的ip参数给客户机并记录到leases文件中。 3、客户机发送ip请求:广播request包,选择一个服务器提供的网络参数租约回报服务器。 此外,客户机会发送一个广播封包给局域网内的所有主机,告知自己已经接受服务器的租约。 4、服务器确认租约:单播Ack包,服务器与客户机确认租约关系并记录到服务器的leases文件中 。 客户端打开68号端口,服务器打开67号端口。 配置: 配置文件都放在/etc/dhcp目录下;主配置文件为dhcpd.conf 将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件复制到配置文件目录下,并覆盖dhcpd.conf文件,即可获得主配置文件。 主配置文件的主要内容介绍: option domain-name "example.org"; --指定网域的域名 option domain-name-servers ns1.example.org, ns2.example.org; --指定域名解析服务器(DNS)的ip地址。 default-lease-time 600; --默认租约时间,单位为s max-lease-time 7200; --最大租约时间,单位为s。过期续约,续约直接发送request包即可。 log-facility local7; --日志设备类型为local7.一般日志设备类型包括mail、crontab。通过此选项可以找到该服务的日志记录路径 subnet 10.5.5.0 netmask 255.255.255.224 { --指定分配网段的ip地址以及子网掩码,括号内部为局部配置。 range 10.5.5.26 10.5.5.30; --可使用的地址池范围 option domain-name-servers ns1.internal.example.org; --该网段的域名,可以省略 option domain-name "internal.example.org"; --网段DNS option routers 10.5.5.1; --指定网关 option broadcast-address 10.5.5.31; --指定广播地址 default-lease-time 600; --租约时间 max-lease-time 7200; --最大租约时间。 } host passacaglia { --主机名称 hardware ethernet 0:0:c0:5d:bd:95; --主机的MAC地址 filename "vmunix.passacaglia"; server-name "toccata.fugue.com"; --文件名和服务器名,不太需要。 fixed-address fantasia.fugue.com; --固定的ip地址
4. 配置 WireGuard:在 VPS 主机上创建一个 WireGuard 配置文件 wg0.conf,将以下配置信息添加到该文件中:
领取专属 10元无门槛券
手把手带您无忧上云