5

Linux nmap命令系统服务和版本检测

 1 year ago
source link: https://www.myfreax.com/linux-nmap-command-system-service-and-version-detection/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Linux nmap命令系统服务和版本检测

Nmap可以使用TCP/IP堆栈指纹来检测远程主机操作系统

Updated At 2 Nov 2022 7 min read
By myfreax
Linux nmap命令系统服务和版本检测

Linux nmap命令系统服务和版本检测

Nmap是用于安全审核和渗透测试的强大网络扫描工具。它是网络管理员用于解决网络连接问题和端口扫描的基本工具之一。

Nmap还可以检测Mac地址,操作系统类型,服务版本等。本教程介绍如何使用nmap命令执行各种网络任务的基础知识。

Nmap可以所有流行的操作系统上安装。Nmap是跨平台应用程序。它最初仅发布在Linux的发行版,后来又被移植到其他系统,例如BSD,Windows和macOS。

如果您更喜欢GUI而不是命令行,可以安装Nmap的GUI版本Zenmap。可从Nmap下载页面。下载官方二进制包。安装过程很简单,并且根据您的操作系统而有所不同。

安装Nmap

如果你的系统未安装nmap,命令将显示nmap: command not found,tio命令未找到。您可以使用发行版的软件包管理器轻松安装nmap。

如果你的计算机运行的是基于Debian的Linux发行版,例如Ubuntu,Linux mint。请运行命令sudo apt update && sudo apt install nmap安装nmap。

如果你的计算机运行的是基于RedHat的Linux发行版,例如CentOS,Fedora。请运行命令sudo dnf install nmap安装nmap。

如果你的计算机运行的是MacOS,请运行命令brew install nmap安装nmap。

sudo apt update && sudo apt install nmap
sudo dnf install nmap
brew install nmap

如果你的计算机运行的是Windows,Nmap在Windows上有一些限制,并且通常比UNIX版本要慢一些。

在Windows安装Nmap的最简单选择是下载并运行安装exe文件。您可以通过命令行或启动Zenmap在Windows运行Nmap。

有关如何在Windows使用Nmap的更多信息,请查看安装后使用说明

Nmap 命令选项

Nmap通常用于审核网络安全性,网络映射,扫描端口并搜索在线设备。nmap命令语法形式是nmap [Options] [Target...]

使用Nmap的最基本示例不指定任何选项,扫描指定的计算机。nmap命令默认运行TCP端口扫描。nmap命令的默认选项是-sT

输出的内容,包括扫描的基本信息以及已打开端口,服务名称,还有端口的状态信息。

nmap scanme.nmap.org
Starting Nmap 7.91 ( https://nmap.org ) at 2020-12-16 20:19 CET
Nmap scan report for cast.lan (192.168.10.121)
Host is up (0.048s latency).
Not shown: 981 closed ports
PORT     STATE    SERVICE
8080/tcp open     http-proxy
8081/tcp open     blackice-icecap

Nmap done: 1 IP address (1 host up) scanned in 1.78 seconds

最受欢迎的扫描选项-sS ,也就是TCP SYN扫描,它比connect选项要快,并且可用于所有兼容的TCP的堆栈。

当以root用户运行nmap时,默认会打开-sS选项。要获得更详细的输出,请添加-v-vv 选项。

如果运行UDP扫描,请以root用户使用-sU选项运行nmap命令。Nmap也支持IPv6地址。要指定IPv6主机,请使用-6选项。

sudo nmap 192.168.10.121
sudo nmap -vv 192.168.10.121
sudo nmap -sU 192.168.10.121
sudo nmap -6 fd12:3456:789a:1::1

nmap 指定目标主机

Nmap将所有不是选项的参数视为目标主机。如果参数以单破折号或双破折号-/--开头,则视为选项。

在指定目标主机时最简单的方式传递一个或多个目标地址或域名,您也可以使用CIDR表示法指定网络范围,例如命令nmap 192.168.10.0/24

要指定八位字节范围,请使用破折号。 例如,要扫描IP地址是192.168.10.1192.168.11.1192.168.12.1的主机,请运行命令nmap 192.168.10-12.1

nmap 192.168.10.121 host.to.scan
nmap 192.168.10.0/24
nmap 192.168.10-12.1

您还可以使用逗号指定目标主机。 例如命令nmap 192.168.10,11,12.1 将会扫描IP地址是192.168.10.1192.168.11.1192.168.12.1的主机。

除了以上方式指定主机之外,也可以组合上述模式作为扫描的目标主机。

要确保在扫描前指定正确的主机的IP地址范围,请使用-sL选项运行nmap命令,该选项只是仅列出目标而不会运行真正的扫描。

如果要排除指定范围内的目标,请使用--exclude选项运行nmap命令。

nmap 192.168.10,11,12.1
nmap 10.8-10.10,11,12.0/28  192.168.1-2.100,101
nmap -sL 10.8-10.10,11,12.0/28  192.168.1-2.100,101
nmap 10.8-10.10,11,12.0/28 --exclude 10.10.12.12

namp 操作系统检测

Nmap可以使用TCP/IP堆栈指纹来检测远程主机操作系统。如需要运行操作系统检测,请使用-O选项运行nmap命令。

如果Nmap可以检测到主机操作系统,它将打印操作系统的信息。

sudo nmap -O scanme.nmap.org
...
Device type: general purpose
Running: Linux 5.X
OS CPE: cpe:/o:linux:linux_kernel:5
OS details: Linux 5.0 - 5.4
Network Distance: 18 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 26.47 seconds

namp 服务和版本检测

通常,系统服务监听在众所周知端口。假设远程主机运行着SSH服务,并可能监听端口22。

但是您不能绝对确定,因为系统管理员可以指定在任何端口运行SSH服务。借助namp的服务和版本检测功能,nmap将在指定端口上检测程序和程序版本。

要使用nmap的服务和版本检测,使用-sV选项运行namp命令。例如命令sudo nmap -sV scanme.nmap.org将会检测scanme.nmap.org主机运行服务和版本。

您还可以使用-A选项在一个命令中扫描操作系统版本并运行traceroute。

sudo nmap -sV scanme.nmap.org
sudo nmap -A 192.168.10.121
...
PORT      STATE    SERVICE      VERSION
19/tcp    filtered chargen
22/tcp    open     ssh          OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp    open     http         Apache httpd 2.4.7 ((Ubuntu))
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
9929/tcp  open     nping-echo   Nping echo
31337/tcp open     tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
...

Nmap 输出

Nmap默认将信息打印到标准输出。如果您扫描大型网络或需要保存信息,则可以将nmap命令输出保存到文件中。

Nmap提供几种输出类型。要以普通文本格式保存文件,请使用-oN选项,后跟文件名。

最流行的选项是以XML格式保存输出,请使用-oX选项运行nmap命令,后跟文件名。

另一种非常有用的格式是grepable,可以用标准Unix命令,例如grepawkcut进行解析。如果需要使用此格式没,请使用-oG选项运行nmap命令。

sudo nmap -sU -p 1-1024 192.168.10.121 -oN output.txt
sudo nmap -sU -p 1-1024 192.168.10.121 -oX output.xml
sudo nmap -sU -p 1-1024 192.168.10.121 -oG output

Nmap 脚本引擎

Nmap最强大的功能之一就是其脚本引擎。Nmap具有非常多脚本文件,您也可以使用Lua语言编写自己的脚本。

您可以使用脚本来检测恶意软件和后门程序,执行暴力攻击等。例如要检查指定主机是否受到攻击。

可以运行命令nmap -sV --script http-malware-host scanme.nmap.org

nmap -sV --script http-malware-host scanme.nmap.org

Nmap是用于安全审核和渗透测试的强大网络扫描工具,网络管理员主要使用它来发现主机和扫描端口。

请注意,在某些国家/地区,未经授权扫描网络是非法的。如果您有任何疑问或意见,请在下面发表评论。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK