kali linux nmap 端口扫描 简单教程

本文介绍了如何在实验中使用nmap工具对Kalilinux和WindowsServer2016进行端口扫描,包括指定IP和端口范围,如21,23,80,以及检测服务版本和全面扫描。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次实验所用工具如下:
VMware

kali linux 
(namp扫描工具)

Windows sever 2016
需开启(FTP,smp,Telnet,rdp)端口


namp操作所用部分代码:
-sP  ping 扫描
-P   指定端口范围
-sV  服务版本探测
-A   全面扫描端口
-oN  保存txt



例子及其解释:
namp -sP  ip地址     备注:这里是指单独扫描这个IP

namp -sP  ip地址/24  备注:这里指的是整个网段


namp -O  ip地址      备注:这里指扫描用的什么系统 并显示端口是否开启


扫描指定端口范围 并不显示什么系统
namp -P 端口号,端口号,端口号  IP地址
          21  , 445 ,3389   192.168.1.1



查看端口 是由什么软件发布的:
namp -P  23,21,3389  -sV
             端口号    



扫描服务器开启的端口号,并保存 命令是-oN  后面加文件路径
namp -O 10.1.1.1  -oN  D:\saomiaojieguo.txt
           ip               要保存的文件路径




接下来咱们实践:

我已经准备好了一台 kail linux 虚拟机和 Windows sever 2016 服务器 已开启部分端口

已知Windows sever 2016 的IP地址为 192.168.245.133

ftp 端口为21

Telnet 端口为 23

http 端口为 80

首先咱们扫描指定端口 (ftp,telnet,tttp)   (21,23,80)

nmap -P 21,23,80 192.168.245.133

 

nmap -A 扫描全部端口

namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)namp 2011-06-25 02:13:43| 分类: Linux | 标签:namp |字号大中小 订阅 . 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):   nmap -sP 192.168.1.0/24   仅列出指定网络上的每台主机,不发送任何报文到目标主机:   nmap -sL 192.168.1.0/24   探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):   nmap -PS 192.168.1.234 nmap -PS 127.0.0.1 -p 100-700   使用UDP ping探测主机:   nmap -PU 192.168.1.0/24   使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:   nmap -sS 192.168.1.0/24   当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:   nmap -sT 192.168.1.0/24   UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:   nmap -sU 192.168.1.0/24   确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):   nmap -sO 192.168.1.19   探测目标主机的操作系统:   nmap -O 192.168.1.19   nmap -A 192.168.1.19   另外,nmap官方文档中的例子:   nmap -v scanme.   这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。   nmap -sS -O scanme./24   进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。   nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127   进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。   nmap -v -iR 100000 -P0 -p 80   随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。   nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20   扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。   host -l | cut -d -f 4 | nmap -v -iL -   进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。   其他选项:   -p (只扫描指定的端口)   单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。   -F (快速 (有限的端口) 扫描)
### Kali Linux 中使用 Nmap 进行端口扫描 Nmap 是一款功能强大的网络扫描和安全审计工具,在 Kali Linux 环境下广泛用于发现主机、服务以及潜在漏洞。以下是关于如何利用 NmapKali Linux 上执行不同类型的端口扫描的具体方法。 #### 基础语法结构 Nmap 的基本命令格式如下: ```bash nmap [选项] [目标地址] ``` 其中 `[选项]` 定义了具体的扫描方式,而 `[目标地址]` 则可以是一个 IP 地址或者 CIDR 表达式的子网范围[^1]。 --- #### 各种常见扫描类型及其用途 ##### 1. **SYN 扫描 (半开放扫描)** 这种扫描不会完成整个 TCP 握手过程,因此被称为“半开放”。它通过发送 SYN 数据包并等待响应来判断端口状态。 ```bash nmap -sS -v -T4 -Pn -p 0-65535 192.168.1.0/24 ``` 上述命令表示对 `192.168.1.0/24` 子网内的所有设备进行全端口(0 至 65535)的 SYN 扫描,同时禁用了 ICMP Ping (`-Pn`) 并设置了较高的时间模板 (`-T4`) 来加速扫描进程。 ##### 2. **TCP Connect 扫描** 此模式会建立完整的 TCP 链接以确认端口是否开启。 ```bash nmap -sT -T4 192.168.1.0/24 ``` 相比 `-sS`,这种方式更容易被防火墙记录日志甚至阻止访问请求。 ##### 3. **操作系统检测** 除了简单端口探测外,还可以尝试识别远程系统的 OS 类型。 ```bash nmap -O -T4 -Pn 192.168.123.0/24 ``` 该操作可能需要管理员权限才能成功运行,并且耗时较长。 ##### 4. **版本侦测** 如果想进一步获取特定服务的相关信息,则可启用版本探测模块。 ```bash nmap -sV -T4 -Pn 192.168.123.0/24 ``` 这有助于评估是否存在已知的安全风险关联到某些软件版本上。 ##### 5. **Ping 扫描** 仅用来查找活动中的节点而不涉及任何端口分析。 ```bash nmap -sn 192.168.1.0/24 ``` 这里使用的 `-sn` 参数代替传统的 `-sP` ,同样能够有效定位存活机器。 --- #### 实际案例演示 假设我们需要针对单台服务器进行全面深入的研究: 1. 开始前先验证其在线情况; ```bash nmap -sn 192.168.1.100 ``` 2. 接着实施快速初步筛查找出开放端口; ```bash nmap -sS -T4 -Pn 192.168.1.100 ``` 3. 继续推进至更细致层面——确定具体应用名称连同对应版本号; ```bash nmap -sV -T4 -Pn 192.168.1.100 ``` 4. 如果有必要的话最后一步便是推测对方所采用的操作平台种类; ```bash nmap -O -T4 -Pn 192.168.1.100 ``` 以上每步都基于前面所得结果逐步深化直至满足需求为止。 --- ### 注意事项 尽管 Nmap 功能强大,但在未经授权的情况下擅自对他人的网络资源发起扫描属于违法行为,请务必遵循当地法律法规合理合法运用此项技术!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

章叁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值