主动信息收集-发现
-
直接与目标系统交互通信
-
无法避免留下访问的痕迹
-
使用受控的第三方电脑进行探测
-
使用代理或已经被控制的主机
-
做好被封杀的准备
-
使用噪声迷惑目标,淹没真实的探测流量
-
-
扫描
-
发送不同的探测,根据返回结果判断目标状态
发现
-
识别活着的主机
-
潜在的被攻击目标
-
输出一个IP地址列表
-
2、3、4层发现
二层发现:
-
优点:扫描速度快,可靠
-
缺点:不可路由
-
arp协议:
-
抓包
-
案例演示:
arping 192.168.0.1 -c 10 (查看局域网主机是否存活,-c是探测次数)
arping -d ##这个命令可以检测ARP攻击,看同一个地址是否为同一个MAC
arping -c 5 192.168.0.1 | grep "bytes from" | cut -d" " -f 5 | cut -d "(" -f 2 | cut -d")" -f 1 #通过管道符将输出结果只输出IP地址
二层发现工具
nmap
nmap -sn 192.168.0.0/24 #sn只做ping扫描,不做端口扫描
-
也可以实现准备好需要扫描的IP地址进行扫描
-
nmap很强大,后面详细介绍
Netdiscover
-
专用于二层发现
-
可用于无线和交换网络环境
-
主动和被动探测
案例展示:
主动发现:
netdiscover -i eth0 -r 192.168.0.0/24
-
也支持探测地址列表
netdiscover -l addr.txt
被动发现
netdiscover -p #将网卡置于混杂模式,去被动侦听arp的包
Scapy
-
作为python库进行调用
-
也可作为单独的工具使用
-
抓包、分析、创建、修改、注入网络流量
注:可能运行的时候提示错误,这是因为python的matplotlib库的问题,直接输入以下命令更新一下即可;
python3 -m pip install --upgrade matplotlib
apt-get install python-gnuplot #可以消除一些软件打开的警告
ARP().display() #查看ARP()函数的调用信息
>>> arp=ARP() #将ARP()属性赋给arp这个变量
>>> arp.pdst="192.168.0.1" #给目的地址赋值
>>> arp.display() #查看arp变量的属性
###[ ARP ]###
hwtype= 0x1
ptype= IPv4
hwlen= None
plen= None
op= who-has
hwsrc= 00:0c:29:ef:99:45
psrc= 192.168.0.121
hwdst= 00:00:00:00:00:00
pdst= 192.168.0.1
sr1(arp) #发包
没有回复内容