socket选项IP_TRANSPARENT简单介绍

socket选项IP_TRANSPARENT简单介绍,第1张

在使用 Keepalived 部署DNS(nsd)高可用集群时,不使用LVS,仅仅使用 Keepalived 实现双主模式,在另外一台服务器发起dig,出现 reply from unexpected source 。

;; reply from unexpected source: 19216803#53, expected 192168051#53

192168051 未VIP, 19216803 为网卡原始ip
在服务器上抓包,的确收到目的地址为 192168051 的报文,但是回复报文的源IP却变为 19216803 ,但是奇怪一点的是使用tcp模式发起dig请求却是正常的。

经过网络了解,发现有个socket选项 IP_TRANSPARENT 是针对类似问题,查看 Linux manual 有:

简单来说, 使用这个选项可以socket绑定一个非本地的地址 ,实现所谓的透明代理(TProxy, Transparent Proxy),通过 Keepalived 实现IP漂移时,VIP就是一个 nonlocal IP ,这段文字还是很难理解,包括解释不了为什么TCP可以而UDP却不可以的疑问,不过可以参考 PowerDNS 的一篇文章 Linux transparent proxy support ,解释的比较清楚。

发现使用了 IP_TRANSPARENT 可以绑定任意一个IP地址,包括 8888 从而实现流量拦截。

nsdconf配置里有IP_TRANSPARENT的选项,

配置了重启nsd,再次dig就不会出现之前描述的问题,并且需要注意的是使用 IP_TRANSPARENT 监听IP列表里必须指明VIP列表,否则还是会出现问题。

dig命令 – 查询域名DNS信息
它会打印出DNS域名服务器的回应,dig命令主要用来从DNS域名服务器查询主机地址信息
nsupdate命令 – 动态DNS更新工具
《Linux就该这么学》搭建DNS服务器
DNS常规 *** 作
1启动DNS服务器:
/etc/initd/named start
2停止DNS服务器:
/etc/initd/named stop
3重新启动DNS服务器:
/etc/initd/named restart
Linux下架设DNS服务器通常是使用Bind程序来实现的。Bind是一款实现DNS服务器的开放源码的软件。DNS即域名系统,主要功能是将人们易于记忆的Domain Name(域名)与不易记忆的IP地址进行转换。
Linux系统中,DNS客户端的配置文件是/etc/resolvconf,该文件记录了DNS服务器的地址和域名。

title: DNS区域传输,字典爆破,注册信息
date: 2016-03-24 13:26
tags: Kali第六章 被动信息收集

为了减轻单台DNS服务器的负载,有时要将同一DNS区域的内容保存在多个DNS服务器中,这时,就要用到DNS的“区域传输”功能,可以简单的理解为数据备份。正常情况之下,DNS区域传输只发生在本域的域名服务器之间,一旦dns服务器管理员dns区域传输配置不当,我们便可以使用以下两条常用的命令[并不仅限与这两种方法哈]获得其dns服务器中的所有记录!

依旧使用强大的dig命令实现。

我们知道一个域名上可能存在多个域名服务器,所以在区域传输需要指定域名中的某一个dns服务器。

下面以新浪为例进行实例演示:

可以看到连接结果为failed,尝试连接ip:11413480144 53失败,当然只是由于新浪的管理员不是菜鸟哦!

ok,下面我们换一个域名试试,拿我亲爱的学校域名看看

一条命令,轻松获得所有DNS记录!

简单点,直接上命令:

制作自己的DNS字典,使用常用的DNS域名字符串形成自己的字典,但如果觉得制作字典太过麻烦,便可以使用kali内置的一些爆破命令。这些工具的命令和功能都是大同小异的,初阶的我们熟练掌握一个就好了!

以下是常用的DNS爆破工具:

{ Usage $: firece -dnsserver 8888 -dns sinacomcn -wordlist atxt n}

使用fierce时需要指定一个DNS服务器,可以时任意的缓存DNS服务器,本地联通\电信,google等等, -dns 参数后面指定需要查询的域名, -worldlist 参数后指定使用的字典!

可以看到,即使不存在atxt的字典,firece依旧会执行一些 *** 作,因为firece自动集成了axfr全区域差异传输,所以它会首先指定axfr功能,当失败以后才会 使用字典进行爆破!

怀疑hoststxt文件即是fierce所携带的字典:

ok,下面更换字典进行爆破:

{ Usage $: dnsdict6 -d4 -t 16 -x sinacom }

dnsdict6携带多个不同级别的爆破字典,并且最大支持16个进程同时爆破。
-t指定线程数,-x指定使用那种级别的字典!
[-s][-m][-x][-u]分别代表小字典,中型字典,大字典,超大字典!

{ Usage $: dnsenum -f dnstxt -dnsserver 8888 sinacom -a sinaxml }

dnsenum可以将查询的结果保存为特定格式的文件。

首先find会从/根目录开始查询,找到所有与dnsenum相关的目录!
然后再逐个查看:

ok,现在已经找到了dnsenum所携带的字典,尝试进行dns爆破!

{ Usage $: dnsmap sinacom -w dnstxt }

{ Usage $: dnsrecon -d sinacom --lifetime 10 -t brt -D dnsbigtxt }

我们可以收集以上所有的工具中的字典构成一自己的大字典,然后使用自己认为很好用的一款工具进行爆破!

有时除了对dns进行爆破之外我们还需要通过whois来查询DNS注册人的信息,方便进行社工攻击!

当然不同地区有不同地区的whois,下面是常用的whois查询地址:
AFRINIC 非洲地区 >你已经作对了啊,就是做A记录指到你的IP就行了。
只是生效需要一段时间而已。
刚Ping了一下,>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10752732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存