dnsenum
DNSenum是一款非常强大的域名信息收集工具。
它能够通过谷歌或者字典文件猜测可能存在的域名,并对一个网段进行反向查询。它不仅可以查询网站的主机地址信息、域名服务器和邮件交换记录,还可以在域名服务器上执行axfr请求,然后通过谷歌脚本得到扩展域名信息,提取子域名并查询,最后计算C类地址并执行whois查询,执行反向查询,把地址段写入文件。
dnsenum 可以收集DNS的信息分为下述几类:
- 主机IP地址
- 该域的DNS服务器
- 该域的MX记录
- 可通过 dnsenum -h 获取帮助信息
1 | # 确定某个域名对应的ip地址范围 |
nslookup
1 | # 确定某个域名对应的ip地址范围 |
whois
whois(读作“Who is”,非缩写)是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)
1 | # 获取域名信息 |
traceroute
用于查看当前ip到目标ip经过的路有的网络拓补结构
实现原理:
- 每个网络包都有其存活期TTL(Time To Live), 单位是“下一跳”
- 当网络包经过一个路由器时, TTL-1
- 当TTL减为0时, 则该网络包被丢弃, 并回复源IP一个“ICMP Time exceeded”报文, 且该ICMP包携带丢弃网络包的那个“主机”(路由器)的IP地址
- traceroute送出一个TTL是1的IP datagram(包括源地址,目的地址和包发出的时间标签)到目的地
- 当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址)
- traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,
- 接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器…
- traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地
- Traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。
1 | traceroute <ip> |
tcptraceroute
与 traceroute
相似,tcptraceroute 发送的是 TCP 第一次握手包;如果对方防火墙的策略,可能防止ICMP报文进入,但是允许TCP 握手包通过时可以使用。
1 | tcptraceroute <ip/域名> |
telnet
网络服务旗标抓取, 利用客户端工具连接远程服务,并观察输出(或通过嗅探)以收集关键信息的技术手段。一般限于明文传输的网络服务。
跟某个服务器对应的端口号进行三次握手,握手完成后可以发送一些数据给服务器。
1 | telnet <ip|域名> <端口号> |
ping
检查主机是否在线的工具,如果对方能够返回,说明是在线存活,如果不返回,也不能说明对方没有在线存活,使用其他工具进行检测
1 | ping <ip|域名> |
arping
使用arp协议对目标机器进行在线存活检测,目标机器跟当前主机必须在同一个内网,arp协议只在同一个网段使用。arping 对方存活情况下必须响应,不能关闭 TCP/IP协议栈决定的
fping
同时对多台主机进行检测
1 | fping <ip1> <ip2> .... |
nmap
Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。 探测速度快,但是目标主机可能会发现我们探测操作系统的行为。该工具其基本功能有三个:
- 一是探测一组主机是否在线;
- 其次是扫描主机端口,嗅探所提供的网络服务;
- 三是可以推断主机所用的操作系统。
通常,用户利用Nmap来进行网络系统安全的评估,而黑客则用于扫描网络。例如,通过向远程主机发送探测数据包,获取主机的响应,并根据主机的端口开放情况得到网络的安全状态。从中寻找存在漏洞的目标主机,从而实施下一步的攻击。
1 | -sP 使用ping的方式确定目标机器在线存活 |
p0f
p0f 采用被动式探测目标主机的操作系统类型,不易被目标主机发现我们的探测行为,但是比主动式识别方法的识别速度慢
1 | p0f -i <网卡名> -f <指纹文件,通常使用/etc/p0f/p0f.fp> |