首页 > 运维 > linux运维 > 正文

Linux nmap命令详解

蓮花仙者
发布: 2025-07-23 10:38:15
原创
778人浏览过

大家好,很高兴再次与大家见面,我是你们的老朋友全栈君。

nmap,即Network Mapper,是一款在Linux环境下使用的强大网络扫描和嗅探工具包。

在网络安全渗透测试中,nmap被广泛应用,其功能之强大毋庸置疑。接下来,我将简要介绍一些常用的nmap扫描命令。不过,nmap的功能非常丰富,建议大家深入学习以充分发挥其潜力。

nmap的安装命令如下:

yum install nmap
登录后复制

Linux nmap命令详解

下面是一些常见的nmap扫描命令及其用法:

Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:  
  Can pass hostnames, IP addresses, networks, etc.  
  Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254  
  -iL : Input from list of hosts/networks  
  -iR <num hosts="">: Choose random targets  
  --exclude <host1>: Exclude hosts/networks  
  --excludefile <exclude_file>: Exclude list from file
HOST DISCOVERY:  
  -sL: List Scan - simply list targets to scan  
  -sn: Ping Scan - disable port scan  
  -Pn: Treat all hosts as online -- skip host discovery  
  -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports  
  -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes  
  -PO[protocol list]: IP Protocol Ping  
  -PR: ARP ping - does not need HW address -> IP translation  
  -n/-R: Never do DNS resolution/Always resolve [default: sometimes]  
  --dns-servers <serv1>: Specify custom DNS servers  
  --system-dns: Use OS's DNS resolver  
  --traceroute: Trace hop path to each host
SCAN TECHNIQUES:  
  -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans  
  -sU: UDP Scan  
  -sN/sF/sX: TCP Null, FIN, and Xmas scans  
  --scanflags <flags>: Customize TCP scan flags  
  -sI <zombie host="">: Idle scan  
  -sY/sZ: SCTP INIT/COOKIE-ECHO scans  
  -sO: IP protocol scan  
  -b <ftp host="" relay="">: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:  
  -p <port ranges="">: Only scan specified ports  
    Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9  
  -F: Fast mode - Scan fewer ports than the default scan  
  -r: Scan ports consecutively - don't randomize  
  --top-ports <number>: Scan <number> most common ports  
  --port-ratio <ratio>: Scan ports more common than <ratio>
SERVICE/VERSION DETECTION:  
  -sV: Probe open ports to determine service/version info  
  -sR: Check what service uses opened ports using RPC scan  
  --version-intensity <level>: Set from 0 (light) to 9 (try all probes)  
  --version-light: Limit to most likely probes (intensity 2)  
  --version-all: Try every single probe (intensity 9)  
  --version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:  
  -sC: equivalent to --script=default  
  --script=<lua scripts="">: <lua scripts=""> is a comma separated list of  
            directories, script-files or script-categories  
  --script-args=<n1>: provide arguments to scripts  
  --script-trace: Show all data sent and received  
  --script-updatedb: Update the script database.
OS DETECTION:  
  -O: Enable OS detection  
  --osscan-limit: Limit OS detection to promising targets  
  --osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:  
  Options which take <time> are in seconds, or append 'ms' (milliseconds),  
  's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).  
  -T: Set timing template (higher is faster)  
  --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes  
  --min-parallelism/max-parallelism <numprobes>: Probe parallelization  
  --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies  
      probe round trip time.  
  --max-retries <tries>: Caps number of port scan probe retransmissions.  
  --host-timeout <time>: Give up on target after this long  
  --scan-delay/--max-scan-delay <time>: Adjust delay between probes  
  --min-rate <number>: Send packets no slower than <number> per second  
  --max-rate <number>: Send packets no faster than <number> per second
FIREWALL/IDS EVASION AND SPOOFING:  
  -f; --mtu <val>: fragment packets (optionally w/given MTU)  
  -D <decoy1>: Cloak a scan with decoys  
  -S <ip_address>: Spoof source address  
  -e <iface>: Use specified interface  
  -g/--source-port <portnum>: Use given port number  
  --data-length <num>: Append random data to sent packets  
  --ip-options : Send packets with specified ip options  
  --ttl <val>: Set IP time-to-live field  
  --spoof-mac <mac address="" name="">: Spoof your MAC address  
  --badsum: Send packets with a bogus TCP/UDP/SCTP checksum
OUTPUT:  
  -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<ript and="" filename.="" format="" given="" grepable="" kiddi3="" respectively="" the="" to="">: Output in the three major formats at once  
  -v: Increase verbosity level (use -vv or more for greater effect)  
  -d: Increase debugging level (use -dd or more for greater effect)  
  --reason: Display the reason a port is in a particular state  
  --open: Only show open (or possibly open) ports  
  --packet-trace: Show all packets sent and received  
  --iflist: Print host interfaces and routes (for debugging)  
  --log-errors: Log errors/warnings to the normal-format output file  
  --append-output: Append to rather than clobber specified output files  
  --resume <filename>: Resume an aborted scan  
  --stylesheet <path>: XSL stylesheet to transform XML output to HTML  
  --webxml: Reference stylesheet from Nmap.Org for more portable XML  
  --no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:  
  -6: Enable IPv6 scanning  
  -A: Enable OS detection, version detection, script scanning, and traceroute  
  --datadir <dirname>: Specify custom Nmap data file location  
  --send-eth/--send-ip: Send using raw ethernet frames or IP packets  
  --privileged: Assume that the user is fully privileged  
  --unprivileged: Assume the user lacks raw socket privileges  
  -V: Print version number  
  -h: Print this help summary page.
EXAMPLES:  
  nmap -v -A scanme.nmap.org  
  nmap -v -sn 192.168.0.0/16 10.0.0.0/8  
  nmap -v -iR 10000 -Pn -p 80
登录后复制

以下是一些常见的nmap命令示例:

  1. 获取远程主机的系统类型及开放端口

    nmap -sS -P0 -sV -O <target>
    登录后复制

    这里的 可以是单一 IP、主机名、域名或子网

    • -sS:TCP SYN 扫描(又称半开放或隐身扫描)
    • -P0:允许你关闭 ICMP pings
    • -sV:打开系统版本检测
    • -O:尝试识别远程操作系统

    其他选项:

    • -A:同时打开操作系统指纹和版本检测
    • -v:详细输出扫描情况
    nmap -sS -P0 -A -v
    登录后复制
  2. 列出开放了指定端口的主机列表

    nmap -sT -p 80 -oG - 192.168.1.* | grep open
    登录后复制
  3. 在网络中寻找所有在线主机

    nmap -sP 192.168.0.*
    登录后复制

    或者使用以下命令:

    nmap -sP 192.168.0.0/24
    登录后复制

    指定子网。

  4. Ping 指定范围内的 IP 地址

    nmap -sP 192.168.1.100-254
    登录后复制
  5. 在某段子网上查找未占用的 IP

    nmap -T4 -sP 192.168.2.0/24 && egrep "00:00:00:00:00:00" /proc/net/arp
    登录后复制
  6. 在局域网上扫描 Conficker 蠕虫病毒

    nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns --script-args safe=1 192.168.0.1-254
    登录后复制
  7. 扫描网络上的恶意接入点(rogue APs)

    nmap -A -p1-85,113,443,8080-8100 -T4 --min-hostgroup 50 --max-rtt-timeout 2000 --initial-rtt-timeout 300 --max-retries 3 --host-timeout 20m --max-scan-delay 1000 -oA wapscan 10.0.0.0/8
    登录后复制
  8. 使用诱饵扫描方法来扫描主机端口

    sudo nmap -sS 192.168.0.10 -D 192.168.0.2
    登录后复制
  9. 为一个子网列出反向 DNS 记录

    nmap -R -sL 209.85.229.99/27 | awk '{if($3=="not")print"("$2") no PTR";else print$3" is "$2}' | grep '('
    登录后复制
  10. 显示网络上共有多少台 Linux 及 Win 设备

     sudo nmap -F -O 192.168.0.1-255 | grep "Running: " > /tmp/os; echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) device"
    登录后复制

【更多参考】

Linux网络探测和安全审核工具 nmap使用详解

转载于://m.sbmmt.com/link/48d086c253bb8d866e7d5ba8414a5943

发布者:全栈程序员栈长,转载请注明出处://m.sbmmt.com/link/241f7e77a83327ca9f60c68f65960fc9

原文链接://m.sbmmt.com/link/c8377ad2a50fb65de28b11cfc628d75c

以上就是Linux nmap命令详解的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号