nmap 命令:网络扫描

一、命令简介

nmap​(Network Mapper)是一个开放源代码的网络探测和安全审核的工具。它最初由Fyodor Vaskovich开发,用于快速地扫描大型网络,尽管它同样适用于单个主机。

nmap​的功能包括:

  • 发现主机上的开放端口
  • 确定目标主机上运行的服务和版本信息
  • 探测操作系统、防火墙规则和设备类型
  • 执行详细的TCP/IP栈指纹识别

在线示例

curl cheat.sh/nmap

二、命令参数

nmap [扫描类型] [选项] {目标}

参数

  • -sP​ 或 -sn​:仅进行ping扫描,不进行端口扫描。
  • -sS​:TCP SYN扫描(半开放扫描),不完成TCP握手过程。
  • -sT​:TCP全连接扫描,完成TCP握手过程。
  • -p​:指定要扫描的端口,可以是单个端口或端口范围(如 -p 80​ 或 -p 1-1000​)。
  • -Pn​:不进行ping扫描,直接进行端口扫描。
  • -O​:启用操作系统检测。
  • -A​:启用操作系统检测、版本检测、脚本扫描和traceroute。
  • -oN​:将结果以普通格式保存到文件。
  • -oX​:将结果以XML格式保存到文件。
  • -oG​:将结果以Grep格式保存到文件。
  • -v​:提高输出信息的详细程度。
  • -T<0-5>​:设置扫描的计时模板(0=慢速扫描,5=快速扫描)。

三、命令示例

扫描一个特定子网内的所有主机

  1. 基本扫描:扫描目标主机上开放的端口。

    % nmap 192.168.10.104
    
    PORT     STATE SERVICE
    22/tcp   open  ssh
    111/tcp  open  rpcbind
    3128/tcp open  squid-http
    
  2. 扫描指定端口:扫描目标主机上指定的端口或端口范围。

    nmap -p 80,443 192.168.10.104   # 扫描80和443端口
    nmap -p 1-1000 192.168.10.104   # 扫描1到1000号端口
    
  3. 识别操作系统:尝试识别目标主机上运行的操作系统。

    sudo nmap -O 192.168.10.104
    

    image

  4. 服务版本检测:扫描目标主机上开放端口上运行的服务版本。貌似扫描不到Windows主机。

    % nmap -A 192.168.10.104
    
    PORT     STATE SERVICE VERSION
    22/tcp   open  ssh     OpenSSH 9.2p1 Debian 2+deb12u1 (protocol 2.0)
    
    
  5. 综合扫描:执行操作系统检测、服务版本检测、脚本扫描和路由跟踪。貌似扫描不到Windows主机。

    nmap -A 192.168.10.111
    

    image

  6. 隐藏扫描:尝试不被目标主机的防火墙检测到。

    sudo nmap -sS 192.168.10.111
    
  7. 扫描整个子网:扫描一个特定子网内的所有主机。

    nmap 192.168.10.0/24
    

    image

  8. 进行详细扫描并保存结果

    nmap -A -oN scan_results.txt 192.168.10.111
    
  9. 扫描排除特定端口:扫描目标主机,但排除一些特定的端口。

    nmap 192.168.10.111 --exclude-ports 22,25
    
  10. 扫描列表中的目标:从一个文件中读取多个目标,并扫描它们。

    nmap -iL target_list.txt
    

    image

注意事项:

  • 未经授权对网络进行扫描可能会被视为非法行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值