如何使用nmap对IP列表中的主机批量扫描指定端口
问题答复
Nmap原生支持同时指定扫描端口范围、从外部文本文件读取IP列表执行扫描,你给出的命令框架完全可用,只需要补全端口指定参数即可。
正确命令格式
指定端口的参数为-p,写入参数序列即可,通用写法:
nmap -p <端口列表> -sS -iL ip_list.txt
端口列表常见写法
- 离散多端口:用英文逗号分隔,比如要扫描22、80、443、3389端口,参数写
-p 22,80,443,3389 - 连续端口段:用英文横杠连接起止端口,比如要扫描1-1000端口,参数写
-p 1-1000 - 区分TCP/UDP协议:可以在端口前加协议标识,比如
-p T:22,80,U:53,161代表扫描TCP的22、80端口,以及UDP的53、161端口 - 全端口扫描:如果要扫描全部65535个端口,可以直接写
-p-
注意事项
-sS是TCP半开扫描参数,需要系统最高权限才能运行:Linux/macOS系统下执行需要加sudo提权,Windows系统下需要用管理员身份打开命令行/PowerShell再执行命令- 传入的
ip_list.txt文件格式要求:每行写一个扫描目标,支持单个IP、IP段、CIDR格式网段,文件中以#开头的注释行、空行会被Nmap自动忽略,示例文件内容:192.168.1.1 192.168.1.10-20 192.168.3.0/24 # 以下是服务器网段 10.0.0.0/28 - 如果需要留存端口开放状态的扫描结果,可以额外加
-oN scan_result.txt参数,把结果直接保存到指定文本文件。
内容的提问来源于stack exchange,提问作者Lorel Carpo
相关产品推荐
相关产品推荐

