nmap+python

Nmap 可以用于

  1. Host discovery (主机发现)
  2. Service/version detection (服务版本检测)
  3. Operating system detection(操作系统检测)
  4. Network traceroute (网络追踪)
  5. Nmap scripting Engine(Nmap 脚本引擎)

Nmap 基本参数

  1. 简单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 中的地址
  1. 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
  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
  1. 全面扫描
nmap -A 192.168.75.1
  1. python nmap 安装
  2. nmap安装:

Windows:https://nmap.org/ 下载安装包,正常安装就好。

ubuntu:sudo apt-get install nmap

// 
pip3 install python-nmap
  1. 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'))

你可能感兴趣的:(nmap+python)