Python基础之Python-nmap模块

一:nmap

Nmap 是一款网络扫描和主机侦测的非常有用的工具。合理使用,不仅可以用来信息收集和枚举,同时也可以用来作为一个漏洞探测器或安全扫描器。另外 Nmap 还跨平台,适用于 Windows、Linux 和 Macintosh 等主流操作系统,功能强大,乃居家旅行之必备良品。

总的来说,Nmap 具有四大功能。

  1. 主机发现
  2. 端口扫描
  3. 服务版本侦测
  4. 操作系统侦测

这四大应用乃 Nmap 之精髓,同时它们之间具有逻辑上的顺序关系。首先进行主机判断,发现在指定信道上存活的主机,然后对这些存活的主机进行端口扫描,接着记录这些运行服务的版本号,最后针对不同操作系统我们还可以有不同的具体应对方案,顺手便把对方的操作系统给侦测了。

在这四大基本应用之上,Nmap 还有一些用来规避、绕过防火墙的组合技巧。最后本文将介绍 Nmap 的一个强大的应用模块,名曰 Nmap 脚本引擎(Nmap Script Engine),简称 NSE。在本文中,我们将学习使用 NSE 来干一些本来看起来繁琐的事情,也就是说实现了自动化。

本文实验系统环境为Ubuntu16.04,默认没有安装nmap工具

apt install nmap -y

临时关闭ping(别人无法ping),但使用nmap同样可进行探测,因为nmap不会像ping命令一样发送echo包

echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

nmap扫描原理示意图:
nmap

二:基本扫描策略

2.1 无任何附加参数

nmap 172.17.2.82

分情况:如果是超级用户,无参数扫描等价于 sS 参数扫描(SYN,半连接);否则,无参数扫描等价于 sT 参数扫描(TCP,完整连接)。

2.2 冗余

nmap -vv 172.17.2.82

按照基本法,v 参数通常表示冗余。我们使用两个 v 参数表示将侦测过程原原本本的打印输出出来。

2.3 指定端口号

nmap -p22 172.17.2.222

这里 p 参数表示端口,标准写法后面跟的端口号之间没有空格。但是如果写一个空格也并无妨。

2.4 操作系统侦测

nmap -O 172.17.2.222
nmap -A 172.17.2.222

操作系统侦测有两个参数选项,其一是参数 O,其二是参数 A,后者乃前者的冗余版本。更多的使用 A 参数,以得到更多的信息。

2.5 只进行主机发现

root@docker:~# nmap -sn 172.17.2.222

Starting Nmap 7.01 ( https://nmap.org ) at 2020-03-30 16:02 CST
Nmap scan report for 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值