碰到内网里的某个网站,域名解析到内网IP,但你想知道这台服务器真正的网卡地址,其实有门道。内网和外网不一样,没有CDN挡在前面,也没有WAF替你遮遮掩掩,大部分情况下真实IP就裸奔在局域网里,只是你没找对地方。
先说最笨但最有效的办法,直接看域名解析记录。很多人以为内网DNS服务器返回的就是真实IP,其实不一定。有些网络里跑了OSS或者内网负载均衡,域名指向的是虚拟IP或者集群入口,不是真实的后端服务器。你可以在内网找一台机器,用nslookup或者dig加上@参数指定不同的DNS服务器去查,比如查内网根DNS、查Windows域控的DNS、查公网DNS的内网解析版本,比对一下返回结果。如果两个DNS返回的IP不一样,恭喜,至少有一个是真实的。多数情况下,域控里那条A记录才是后端真实地址,因为管理员懒得维护两套。
再一个思路是翻证书透明度日志,这个在内网同样适用。任何一个域名在申请SSL证书的时候,CA机构会记录下所有申请过的域名和IP。内网虽然很少有公网证书,但有些公司图省事,拿同一张证书给内网和公网用,这样证书里就会夹带内网IP的历史信息。你在内网用openssl s_client连一下目标网站的443端口,把证书链导出来,看Subject Alternative Name字段,有时会直接列出内网IP。更绝的是,证书的序列号能拿去查公开的CT日志,能搜出这个证书之前绑定过哪些IP,内网的、公网的通通现原形。
还有一招,看SPF记录。SPF是邮件系统用来验证发件人IP的DNS记录,但很多公司会把运维用的跳板机IP、监控服务器IP也写进去,写成v=spf1 ip4:192.168.x.x include:spf.xxx.com ~all这种。你用dig TXT 目标域名就能拉出这条记录,里面可能就躺着内网网段。这时候拿你已知的目标A记录IP和SPF里的IP段做对比,如果A记录IP在SPF段里,那就是实锤,如果不在,SPF里的内网IP多半是另一台管理服务器,顺着摸过去能拿到更多线索。
再讲一个操作上很爽的办法,查内网流量里的HTTP头。真实IP不一定非得从DNS和证书里挖,内网交换机上跑个抓包,或者找台能镜像端口的设备,盯目标网站发出去的流量。服务器往外连的时候,源IP就是它的真实网卡地址,这个没法改。抓包看TCP握手,源IP有时候和域名解析出来的根本不一样,因为有些网站背后挂了两台机器,一台做前端代理,一台跑业务,域名解析到代理的IP,你抓包抓到的业务服务器流量才是真身。如果你有交换机权限,直接看MAC地址表,找到目标IP对应的交换机端口,顺着端口查下去,如果那个端口底下还接了其他IP,十有八九就是同一台物理机上跑的其他虚拟机或者容器,一路深挖收获更多。

另外,内网里常常有DNS区域传送的漏洞。你拿dig做axfr请求,如果管理员没配好,服务器会把整个域的所有记录一股脑甩给你。里面可能有一堆子域名解析到不同的IP段,其中某个IP段和外网公开信息对不上,那就是内网的真实架构了。这种方法不用说猜密码,不用爆破,纯靠配置疏忽,但成功率不低,尤其老牌企业内网。
最容易被忽略的是看历史解析记录。目标网站今天解析到10.0.0.5,不代表它上周也解析到这个地址。运维改IP的时候通常会先在DNS上改解析,过几天才去改服务器配置,中间有一段窗口期。如果你有内网DNS的日志权限,去翻解析记录,找到变更前的IP,那个往往才是服务器真正绑定的地址。现在改了,老地址可能还在系统里没删干净,顺着老IP一ping通了就能登进去看看。
记住一个核心逻辑:内网IP不能光靠问,要顺着数据流动的方向去找。域名指向的IP只是入口,真实的IP藏在出口里。那些连外网时候用的源地址、邮件头发信服务器的IP、监控系统里上报的Agent地址,全都能出卖真实IP。思路放开,别老盯着DNS那一亩三分地。