网络安全nmap扫描端口命令详解linux网络探测

article/2025/9/2 1:55:03

简介:

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。 正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。 Nmap 常被跟评估系统漏洞软件 Nessus 混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。

CSDN: 有勇气的牛排 --- 攻防 官方博客:www.920vip.net 接单官网:www.920z.net

作者原文章地址 网络安全nmap扫描端口命令详解linux网络探测_有勇气的牛排

@[toc]

Nmap介绍

NMap(Network Mapper),是linux下的网络扫描嗅探工具包 基本功能有三个:

  1. 扫描主机端口,嗅探所提供的网络服务。
  2. 是嗅探一组主机是否在线。
  3. 还可以推断主机所使用的的操作系统,到达主机经过的路由,系统以开放端口的软件版本。

端口状态解析

open : 应用程序在该端口接收 TCP 连接或者 UDP 报文。 
closed :关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
open | filtered :无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的

安装命令

yum install nmap -y

1. Nmap命令参数解析:

-sT    TCP connect() 扫描,这是最基本的 TCP 扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。    
-sS    TCP 同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描 (half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要 root 权限来定制 SYN 数据包。    
-sF,-sX,-sN    秘密 FIN 数据包扫描、圣诞树 (Xmas Tree)、空 (Null) 扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应 RST 包,而打开的端口必需忽略有问题的包(参考 RFC 793 第 64 页)。    
-sP    ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。    
-sU    UDP 的数据包进行扫描,如果你想知道在某台主机上提供哪些 UDP(用户数据报协议,RFC768) 服务,可以使用此选项。    
-sA    ACK 扫描,这项高级的扫描方法通常可以用来穿过防火墙。    
-sW    滑动窗口扫描,非常类似于 ACK 的扫描。    
-sR    RPC 扫描,和其它不同的端口扫描方法结合使用。    
-b    FTP 反弹攻击 (bounce attack),连接到防火墙后面的一台 FTP 服务器做代理,接着进行端口扫描。
-P0    在扫描之前,不 ping 主机。    
-PT    扫描之前,使用 TCP ping 确定哪些主机正在运行。    
-PS    对于 root 用户,这个选项让 nmap 使用 SYN 包而不是 ACK 包来对目标主机进行扫描。    
-PI    设置这个选项,让 nmap 使用真正的 ping(ICMP echo 请求)来扫描目标主机是否正在运行。    
-PB    这是默认的 ping 扫描选项。它使用 ACK(-PT) 和 ICMP(-PI) 两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。    
-O    这个选项激活对 TCP/IP 指纹特征 (fingerprinting) 的扫描,获得远程主机的标志,也就是操作系统类型。    
-I    打开 nmap 的反向标志扫描功能。    
-f    使用碎片 IP 数据包发送 SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。    
-v    冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。    
-S <IP>    在一些情况下,nmap 可能无法确定你的源地址 (nmap 会告诉你)。在这种情况使用这个选项给出你的 IP 地址。    
-g port    设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为 DNS(53) 或者 FTP-DATA(20) 的包通过和实现连接。显然,如果攻击者把源端口修改为 20 或者 53,就可以摧毁防火墙的防护。    
-oN    把扫描结果重定向到一个可读的文件 logfilename 中。    
-oS    扫描结果输出到标准输出。    
--host_timeout    设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。    
--max_rtt_timeout    设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约 9000 毫秒。    
--min_rtt_timeout    设置 nmap 对每次探测至少等待你指定的时间,以毫秒为单位。    
-M count    置进行 TCP connect() 扫描时,最多使用多少个套接字进行并行的扫描。

2 实战演练

2.1 -sP 扫描一个网段主机存活数

nmap -sP 192.168.56.0/24

-sP: ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。
在这里插入图片描述

2.2 -P0 跳过Ping探测

有些主机关闭了ping检测,所以可以使用-P0跳过ping的探测,可以加快扫描速度

nmap -PO 10.12.120.41

-P0: 在扫描之前,不 ping 主机。 在这里插入图片描述

2.3 -sP 计算网段主机IP

仅列出指定网段上的每台主机,不发送任何报文到目标主机

nmap -sP 192.168.56.0/24

-sP: ping 扫描,用 ping 方式检查网络上哪些主机正在运行。当主机阻塞 ICMP echo 请求包是 ping 扫描是无效的。nmap 在任何情况下都会进行 ping 扫描,只有目标主机处于运行状态,才会进行后续的扫描。

在这里插入图片描述

2.4 -sP 扫描IP地址范围

可以指定一个IP地址范围,扫描存活主机

nmap -sP 192.168.56.1-10

2.5 -PS 探测开放端口(SYN)

探测目标主机开放的端口,可指定一个以逗号分隔的端口列表(如-PS22,443,80)

nmap -PS22,80,443 192.168.56.7

-PS: 对于 root 用户,这个选项让 nmap 使用 SYN 包而不是 ACK 包来对目标主机进行扫描。 在这里插入图片描述

2.6 -PU 探测开放端口(UDP)

探测:开放端口、MAC地址 探测目标主机开放的端口,可指定一个以逗号分隔的端口列表(如-PS22,443,80)

nmap -PU 192.168.56.7

在这里插入图片描述

2.7 -sS SYN半开放扫描

nmap -sS 192.168.56.7

-sS: TCP 同步扫描 (TCP SYN),因为不必全部打开一个 TCP 连接,所以这项技术通常称为半开扫描 (half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要 root 权限来定制 SYN 数据包。
案例1: 在这里插入图片描述

案例2:

Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:02 EDT
Nmap scan report for 10.12.120.41
Host is up (0.0028s latency).
Not shown: 990 filtered ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
808/tcp  open  ccproxy-http
902/tcp  open  iss-realsecure
912/tcp  open  apex-mesh
1433/tcp open  ms-sql-s
2383/tcp open  ms-olap4
9001/tcp open  tor-orportNmap done: 1 IP address (1 host up) scanned in 4.82 seconds

2.8 -sT 扫描开放TCP端口的设备

扫描开放了TCP端口的设备 指定主机:

nmap -sT 192.168.56.7

全网段

nmap -sT 192.168.56.0/24

在这里插入图片描述

Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:04 EDT
Nmap scan report for 10.12.120.41
Host is up (0.0021s latency).
Not shown: 992 filtered ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
902/tcp  open  iss-realsecure
912/tcp  open  apex-mesh
1433/tcp open  ms-sql-s
2383/tcp open  ms-olap4Nmap done: 1 IP address (1 host up) scanned in 9.42 seconds

2.9 -sU 扫描目标主机开放了哪些UDP端口

nmap -sU 192.168.56.7

-sU: UDP 的数据包进行扫描,如果你想知道在某台主机上提供哪些 UDP(用户数据报协议,RFC768) 服务,可以使用此选项。

Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:10 EDT
Nmap scan report for 10.12.120.41
Host is up (0.00091s latency).
All 1000 scanned ports on 10.12.120.41 are open|filteredNmap done: 1 IP address (1 host up) scanned in 21.55 seconds

2.10 -s0 探测 目标主机支持哪些 IP协议

nmap -sO 192.168.56.7
Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:12 EDT
Nmap scan report for 10.12.120.41
Host is up (0.00018s latency).
Not shown: 252 filtered protocols
PROTOCOL STATE         SERVICE
1        open          icmp
6        open          tcp
17       open|filtered udp
47       open|filtered greNmap done: 1 IP address (1 host up) scanned in 1.42 seconds

2.11 -0 扫描探测 目标主机 操作系统

nmap -O 192.168.56.7

在这里插入图片描述

Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:17 EDT
Nmap scan report for 10.12.120.41
Host is up (0.0028s latency).
Not shown: 992 filtered ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
808/tcp  open  ccproxy-http
902/tcp  open  iss-realsecure
912/tcp  open  apex-mesh
2383/tcp open  ms-olap4
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|specialized
Running: Microsoft Windows XP|7|2012, VMware Player
OS CPE: cpe:/o:microsoft:windows_xp::sp3 cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows_server_2012 cpe:/a:vmware:player
OS details: Microsoft Windows XP SP3 or Windows 7 or Windows Server 2012, VMware Player virtual NAT deviceOS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.57 seconds

2.12 -sV 扫描目标主机服务版本号

nmap -sV 192.168.56.7
Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:18 EDT
Nmap scan report for 10.12.120.41
Host is up (0.0016s latency).
Not shown: 991 filtered ports
PORT     STATE SERVICE         VERSION
135/tcp  open  msrpc           Microsoft Windows RPC
139/tcp  open  netbios-ssn     Microsoft Windows netbios-ssn
443/tcp  open  ssl/https       VMware Workstation SOAP API 15.1.0
445/tcp  open  microsoft-ds?
808/tcp  open  mc-nmf          .NET Message Framing
902/tcp  open  ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)
912/tcp  open  vmware-auth     VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
2383/tcp open  ms-olap4?
9001/tcp open  http            Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows, cpe:/o:vmware:Workstation:15.1.0Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 150.43 seconds

2.13 -iL 导入扫描文件

ip.log

10.12.120.41
www.lgch.xyz

从一个文件中导入IP地址,并进行扫描

nmap -iL ip.log
Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:32 EDT
Nmap scan report for 10.12.120.41
Host is up (0.0024s latency).
Not shown: 991 filtered ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
808/tcp  open  ccproxy-http
902/tcp  open  iss-realsecure
912/tcp  open  apex-mesh
2383/tcp open  ms-olap4
9001/tcp open  tor-orportNmap scan report for www.lgch.xyz (152.136.107.109)
Host is up (0.024s latency).
Not shown: 994 filtered ports
PORT     STATE SERVICE
80/tcp   open  http
443/tcp  open  https
3306/tcp open  mysql
3389/tcp open  ms-wbt-server
5357/tcp open  wsdapi
8087/tcp open  simplifymediaNmap done: 2 IP addresses (2 hosts up) scanned in 19.18 seconds

2.14 -f 绕过防火墙

在扫描时通过使用-f参数以及使用--mtu 4/8/16使用分片、指定数据包的MTU,来绕过防火墙

nmap -f 192.168.56.7
Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-23 02:36 EDT
Nmap scan report for 10.12.120.41
Host is up (0.00094s latency).
Not shown: 991 filtered ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
443/tcp  open  https
445/tcp  open  microsoft-ds
808/tcp  open  ccproxy-http
902/tcp  open  iss-realsecure
1433/tcp open  ms-sql-s
2383/tcp open  ms-olap4
9001/tcp open  tor-orportNmap done: 1 IP address (1 host up) scanned in 4.86 seconds

3 Nmap扫描脚本

Nmap不仅用于端口扫描,服务检测,其还具有强大的脚本功能,利用Nmap Script可以快速探测服务器,一般情况下,常用的扫描脚本会放在/usr/share/nmap/script目录下,并且脚本扩招名为*.nse后缀的,接下来将介绍最常用的扫描脚本

3.1 扫描WEB敏感目录

nmap -p 80 --script=http-enum.nse 192.168.56.7

DC-3扫描: 在这里插入图片描述

3.2 扫描C站与旁站

nmap -p 80,8080 --open ip或域名/24 

3.3 扫描端口开放情况

nmap -sV -sS -p- -A -v 192.168.56.12

http://chatgpt.dhexx.cn/article/UvOGDDdw.shtml

相关文章

cut指令

一、定义 正如其名&#xff0c;cut的工作就是“剪”&#xff0c;具体的说就是在文件中负责剪切数据用的。cut以行为单位处理数据&#xff0c;而不是整篇信息分析&#xff0c;这种机制和sed一样。 二、作用 将同一行里面的数据进行分解&#xff0c;最常使用在分析一些数据或文…

jieba分词cut与lcut的区别

从分词的效果来看两者没有区别。 区别在于分词后结果的表示形式。 例如&#xff1a;lcut分词 str_text "本法所称突发事件&#xff0c;是指突然发生&#xff0c;造成或者可能造成严重社会危害&#xff0c;需要采取应急处置措施予以应对的自然灾害、事故灾难、公共卫生…

linux之cut的使用

cut是一个选取命令&#xff0c;就是将一段数据经过分析&#xff0c;取出我们想要的。一般来说&#xff0c;选取信息通常是针对“行”来进行分析的&#xff0c;并不是整篇信息分析的 其语法格式为&#xff1a; cut [-bn] [file] 或 cut [-c][file] 或 cut [-df] [file]使用说明:…

图像分割之(三)从Graph Cut到Grab Cut

图像分割之&#xff08;三&#xff09;从Graph Cut到Grab Cut zouxy09qq.com http://blog.csdn.net/zouxy09 上一文对GraphCut做了一个了解&#xff0c;而现在我们聊到的GrabCut是对其的改进版&#xff0c;是迭代的Graph Cut。OpenCV中的GrabCut算法是依据《"GrabCut&qu…

shell中cut用法简介

shell中的cut命令 (2010-03-30 17:05:31) 转载▼ 标签&#xff1a; shell cut 杂谈 分类&#xff1a; shell cut是以每一行为一个处理对象的&#xff0c;这种机制和sed是一样的。&#xff08;关于sed的入门文章将在近期发布&#xff09; 2 cut一般以什么为依据呢? 也就是说&a…

Linux-cut

cut命令介绍 cut命令将文件的每一行剪切字节&#xff0c;字符和字段&#xff0c;并将这些字节&#xff0c;字符和字段写到标准输出 提取列&#xff0c;cut命令不能提取空格&#xff0c;可以是制表符或者其他字符 cut [选项][文件] 选项&#xff1a; -b&#xff1a;以字节为单…

Linux字符截取命令-cut

概述 cut是一个选取命令&#xff0c;。一般来说&#xff0c;选取信息通常是针对“行”来进行分析的&#xff0c;并不是整篇信息分析的。 语法 cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file] cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、…

反掩码的作用是什么?通配符掩码的作用是什么?—Vecloud

反掩码即路由器使用的通配符掩码与源或目标地址一起来分辨匹配的地址范围&#xff0c;跟子网掩码刚好相反。 它像子网掩码告诉路由器IP地址的哪一位属于网络号一样&#xff0c;通配符掩码告诉路由器为了判断出匹配&#xff0c;它需要检查IP地址中的多少位。这个地址掩码对使我们…

反掩码和通配符,傻傻分不清

网络掩码 网络掩码&#xff0c;大家很熟悉。格式跟 IP 地址一样&#xff0c;是 32 位的二进制数&#xff0c;网络部分用 1 表示&#xff0c;主机部分用 0 表示&#xff0c;和 IP 地址同时使用才有意义。 我们可以发现&#xff0c;网络掩码是由 1 和 0 组成&#xff0c;而且 1 …

彻底澄清子网掩码、反掩码、通配符掩码以及ospf network命令误区

1.子网掩码&#xff08;IP subnet mask&#xff09; 用途&#xff1a;标识一个IP地址的网络位&#xff0c;主机位 网络设备判断目的IP跟自己是否同一网段的依据。 特点&#xff1a;1和0绝对不可能间隔&#xff0c;1总在0的前面。 网络通信角度&#xff0c;子网掩码只具有本地…

反掩码和通配符,傻傻分不清?

网络掩码 网络掩码&#xff0c;大家很熟悉。格式跟 IP 地址一样&#xff0c;是 32 位的二进制数&#xff0c;网络部分用 1 表示&#xff0c;主机部分用 0 表示&#xff0c;和 IP 地址同时使用才有意义。 我们可以发现&#xff0c;网络掩码是由 1 和 0 组成&#xff0c;而且 1 …

通配符及反掩码的详解 (网络中ACL )

在我们学习ACL中&#xff0c;在搞懂ACL的同时也要搞定通配符掩码&#xff08;wildcard mask&#xff09;。说简单点&#xff0c;通配符掩码就是0为绝对匹配&#xff0c;必须严格匹配才行&#xff0c;而1为任意&#xff0c;从某种意义上讲&#xff0c;如果一个8位上有一个1字符&…

反掩码与通配符掩码

掩码我们学数通的应该都很熟悉&#xff0c;我们刚刚学习IP的时候肯定都学过&#xff0c;这里就不在叙述。 今天我们要说的是反掩码和通配符掩码&#xff0c;反掩码相信大家也都不陌生&#xff0c;我们配置OSPF的时候都能用的到但是很多网工也就知道配置OSPF就要那么配置&#x…

掩码、通配符与反掩码

掩码 采用按位与运算&#xff0c;计算一个ip地址的网络号0 & 0 0  1 & 0 0  即&#xff1a;x & 0 00 & 1 0  1 & 1 1  即&#xff1a;x & 1 xip地址的结构 网络号 主机号若要得到网络号&#xff0c;掩码的结构必然为前面是连续的1&am…

ACL 通配符掩码 匹配的范围计算及理解

例题 access-list 120 permit ip 10.0.0.0 0.0.0.191 any 这条ACL看似简单&#xff0c;却又复杂&#xff0c;因为正常我们见到的通配符掩码都是诸如0.0.0.255&#xff08;255.255.255.0&#xff09;/0.0.255.255&#xff08;255.255.0.0&#xff09;/0.0.0.127&#xff08;255…

UDF和GenericUDF区别

目录 UDF GenericUDF Java开发转了大数据&#xff0c;竟然被拉去做了非结构的ETL抽取&#xff0c;真的是比做后端伤脑筋&#xff0c;没有可借鉴的框架&#xff0c;只能根据数据进行抽取,第一份大数据实习&#xff0c;写完抽取代码后&#xff0c;需要写成UDF和UDTF进行使用。 …

URDF教程

创建自己的URDF文件 1.1创建树形结构文件 在这部分教程中要创建的将是下面的图形所描述的机器人的urdf文件 图片中这个机器人是一个树形结构的。让我们开始非常简单的创建这个树型结构的描述文件&#xff0c;不用担心维度等的问题。创建一个my_robot.urdf文件&#xff0c;…

UDF 提权

肚子难受了两天&#xff0c;躺了两天 关于 UDF &#xff0c;我当时第一想到的是 sqlmap 里的 -os-shell 这两者之间又有怎么样的区别&#xff1f; 经过我查了一番资料 UDF 全称为 User Defined Functions ,翻译过来就是用户可自定义函数. UDF 适用于只知道root 账户密码&a…

MySQL UDF 提权

概述 UDF 全称 User Defind Function&#xff08;用户自定义函数&#xff09;&#xff0c;用户通过自定义函数可以实现在 MySQL 中无法方便实现的功能&#xff0c;其添加的新函数都可以在 SQL 语句中调用&#xff0c;就像调用本机函数 version () 一样方便。 UDF 提权是通过这…

udf提权

udf提权 什么是udf udf “user defined function”,即‘用户自定义函数’。是通过添加新函数&#xff0c;对MYSQL的功能进行扩充&#xff0c;性质就像使用本地MYSQL函数如abs()或concat()。udf在mysql5.1以后的版本中&#xff0c;存在于’mysql/lib/plugin’目录下&#xff…