NMAP
nmap是港口扫描仪的合法王位,而今天仍然是最通用的选择,最早是Linux下的网络扫描和嗅探工具包。可以扫描主机、端口、并且识别端口所对应的协议,以及猜测操作系统
- Ping扫描(-sP参数)
- TCP同步(SYN)端口扫描(-sS参数)
- TCP connect()端口扫描(-sT参数)
- UDP端口扫描(-sU参数)
windows 使用
有脚就能用
Kali 使用
Kali 默认已经安装
NMAP
#仅扫描主机
nmap -sP 192.168.1.0/24 #进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测)
#扫描主机和端口
nmap -sS 192.168.1.0/24 #使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:(显示mac ip port protocol)
nmap -sT 192.168.1.0/24 #当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:
#探测目标主机的操作系统
nmap -O 192.168.1.19 #显示mac ip port protocol 操作系统(仅猜测)
nmap -A 192.168.1.19 #显示mac ip port(更详细) protocol 操作系统(仅猜测)
nmap -sO 192.168.1.19 #确定目标机支持哪些协议 (TCP,ICMP,IGMP等)
#详细输出-v
nmap -v
Masscan
masscan是为了尽可能快地扫描整个互联网而创建的,根据其作者robert graham,这可以在不到6分钟内完成,每秒大约1000万个数据包。
如果想要在windows下使用,请移步 https://github.com/robertdavidgraham/masscan/
安装
无论是Linux还是MacOs,安装masscan都非常简单
Debian/Ubnutu上安装
$ sudo apt-get install clang git gcc make libpcap-dev
$ git clone https://github.com/robertdavidgraham/masscan
$ cd masscan
$ make
扫描
- 单端口扫描,扫描443端口的B类子网
$ Masscan 10.11.0.0/16 -p443
- 多端口扫描, 扫描80或443端口的B类子网
$ Masscan 10.11.0.0/16 -p80,443
- 扫描一系列端口, 扫描22到25端口的B类子网
$ Masscan 10.11.0.0/16 -p22-25
- 快速扫描, 扫描100个常见端口的B类子网,每秒100,000个数据包
$ Masscan 10.11.0.0/16 --top-ports 100 -rate 100000
- 结果保存
$ Masscan 10.11.0.0/16 --top-ports 100 > results.txt
演示
Kali 默认已安装 Masscan
快速扫描
默认情况下,Masscan扫描速度为每秒100个数据包,这是相当慢的。为了增加这一点,只需提供该-rate选项并指定一个值。
扫描100个常见端口的B类子网,每秒100,000个数据包
masscan 192.168.0.0/16 --ports 0-100 --rate 10000
合并
Nmap和Masscan结合两款扫描器,masscan扫描端口,nmap扫描端口对应服务,二者结合起来实现了又快又好地扫描。并且加入了针对目标资产有防火墙的应对措施
使用:
首先 pip install -r requirements.txt
安装所需插件,然后将ip地址每行一个保存到 txt
文本里,与本程序放在同一目录下,masscan
安装完成后也与本程序放在同一目录下,运行程序即可。最终会在当前目录下生成一个scan_url_port.txt
的扫描结果
https://github.com/hellogoldsnakeman/masnmapscan-V1.0
- 安装插件
pip install -r requirements.txt
- 在程序同一目录创建两个文件,ip.txt 需要扫描的放进去
echo 192.168.0.120 >ip.txt
# masscan.json
touch masscan.json
- 如果出现
sh: 1: masscan/bin/masscan: not found
之类的 打开脚本做如下修改(rate根据实际情况修改)
4. 运行
python masnmapcan-V1.0.py