Nmap 可以用于
- Host discovery (主机发现)
- Service/version detection (服务版本检测)
- Operating system detection(操作系统检测)
- Network traceroute (网络追踪)
- Nmap scripting Engine(Nmap 脚本引擎)
Nmap 基本参数
- 简单ping 扫描
nmap -sn 192.168.75.0/24 //地址段
nmap -sn 192.168.75.1-100 //地址1-100
nmap -sn -iL Ahost //文件Ahost中存放地址
nmap -sn 192.168.75.0/24 -exclude 192.168.75.122 //排除192.168.75.122
nmap -sn 192.168.75.0/24 -exclude Ahost //排除Ahost 中的地址
- TCP扫描
//TCP SYN扫描(半开扫描,速度快,可能会被防火墙限制)
nmap -sS 192.168.75.1
//TCP Connetc扫描
nmap -sS 192.168.75.1
//TCP FIN 扫描(正常收到拒绝回应包)
nmap -sF 192.168.75.1
//UDP扫描 扫描时间过长
nmap -sU 192.168.75.1
- 端口服务扫描
nmap -sV 192.168.75.1
扫描结果:
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
- 全面扫描
nmap -A 192.168.75.1
- python nmap 安装
- nmap安装:
Windows:https://nmap.org/ 下载安装包,正常安装就好。
ubuntu:sudo apt-get install nmap
//
pip3 install python-nmap
- python nmap扫描
import nmap
import sys
def nmap_ping_scan(network_prefix):
# 创建一个扫描实例
nm = nmap.PortScanner()
# 配置nmap参数
ping_scan_raw_result = nm.scan(hosts=network_prefix, arguments='-v -n -sn')
# 分析扫描结果,并放入主机清单
host_list = [result['addresses']['ipv4'] for result in ping_scan_raw_result['scan'].values() if
result['status']['state'] == 'up']
return host_list
if __name__ == '__main__':
for host in nmap_ping_scan('192.168.1.129'):
print('%-20s %5s' % (host, 'is UP'))