为了对 RocketMQ做监控,安装了空间 nmap

[root@localhost rocketmq]# yum -y install nmap
已加载插件:fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
base                                                                                                                                                                                                                                                   | 3.6 kB  00:00:00
extras                                                                                                                                                                                                                                                 | 3.4 kB  00:00:00
updates                                                                                                                                                                                                                                                | 3.4 kB  00:00:00
(1/2): extras/7/x86_64/primary_db                                                                                                                                                                                                                      | 187 kB  00:00:07
(2/2): updates/7/x86_64/primary_db                                                                                                                                                                                                                     | 5.2 MB  00:00:08
Determining fastest mirrors* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 nmap.x86_64.2.6.40-13.el7 将被 安装
--> 正在处理依赖关系 nmap-ncat = 2:6.40-13.el7,它被软件包 2:nmap-6.40-13.el7.x86_64 需要
--> 正在检查事务
---> 软件包 nmap-ncat.x86_64.2.6.40-13.el7 将被 安装
--> 解决依赖关系完成依赖关系解决==============================================================================================================================================================================================================================================================================Package                                                           架构                                                           版本                                                                     源                                                            大小
==============================================================================================================================================================================================================================================================================
正在安装:nmap                                                              x86_64                                                         2:6.40-13.el7                                                            base                                                         3.9 M
为依赖而安装:nmap-ncat                                                         x86_64                                                         2:6.40-13.el7                                                            base                                                         205 k事务概要
==============================================================================================================================================================================================================================================================================
安装  1 软件包 (+1 依赖软件包)总下载量:4.1 M
安装大小:17 M
Downloading packages:
(1/2): nmap-ncat-6.40-13.el7.x86_64.rpm                                                                                                                                                                                                                | 205 kB  00:00:01
(2/2): nmap-6.40-13.el7.x86_64.rpm                                                                                                                                                                                                                     | 3.9 MB  00:00:02
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                                                                                                          1.6 MB/s | 4.1 MB  00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装    : 2:nmap-ncat-6.40-13.el7.x86_64                                                                                                                                                                                                                            1/2 正在安装    : 2:nmap-6.40-13.el7.x86_64                                                                                                                                                                                                                                 2/2 验证中      : 2:nmap-ncat-6.40-13.el7.x86_64                                                                                                                                                                                                                            1/2 验证中      : 2:nmap-6.40-13.el7.x86_64                                                                                                                                                                                                                                 2/2 已安装:nmap.x86_64 2:6.40-13.el7                                                                                                                                                                                                                                                   作为依赖被安装:nmap-ncat.x86_64 2:6.40-13.el7                                                                                                                                                                                                                                              完毕!
[root@localhost rocketmq]# man nmap

nmap命令说明

NMAP(1)                                                                                                                     [FIXME: manual]                                                                                                                     NMAP(1)NAMEnmap - 网络探测工具和安全/端口扫描器SYNOPSISnmap [扫描类型...] [选项] {扫描目标说明}描述Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核, 许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。 “所感兴趣的端口表格”是其中的关键。那张表列出端口号,协议,服务名称和状态。状态可能是 open(开放的),filtered(被过滤的), closed(关闭的),或者unfiltered(未被过滤的)。Open(开放的)意味着目标机器上的应用程序正在该端口监听连接/报文。 filtered(被过滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap无法得知 它是 open(开放的) 还是 closed(关闭的)。 closed(关闭的)端口没有应用程序在它上面监听,但是他们随时可能开放。 当端口对Nmap的探测做出响应,但是Nmap无法确定它们是关闭还是开放时,这些端口就被认为是 unfiltered(未被过滤的) 如果Nmap报告状态组合 open|filtered 和closed|filtered时,那说明Nmap无法确定该端口处于两个状态中的哪一个状态。 当要求进行版本探测时,端口表也可以包含软件的版本信息。当要求进行IP协议扫描时 (-sO),Nmap提供关于所支持的IP协议而不是正在监听的端口的信息。除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名,操作系统猜测,设备类型,和MAC地址。一个典型的Nmap扫描如Example 1, “一个典型的Nmap扫描”所示。在这个例子中,唯一的选项是-A, 用来进行操作系统及其版本的探测,-T4 可以加快执行速度,接着是两个目标主机名。Example 1. 一个典型的Nmap扫描# nmap -A -T4 scanme.nmap.org playgroundStarting nmap ( http://www.insecure.org/nmap/ )Interesting ports on scanme.nmap.org (205.217.153.62):(The 1663 ports scanned but not shown below are in state: filtered)port    STATE  SERVICE VERSION22/tcp  open   ssh     OpenSSH 3.9p1 (protocol 1.99)53/tcp  open   domain70/tcp  closed gopher80/tcp  open   http    Apache httpd 2.0.52 ((Fedora))113/tcp closed authDevice type: general purposeRunning: Linux 2.4.X|2.5.X|2.6.XOS details: Linux 2.4.7 - 2.6.11,Linux 2.6.0 - 2.6.11Uptime 33。908 days (since Thu Jul 21 03:38:03 2005)Interesting ports on playground。nmap。或者g (192.168.0.40):(The 1659 ports scanned but not shown below are in state: closed)port     STATE SERVICE       VERSION135/tcp  open  msrpc         Microsoft Windows RPC139/tcp  open  netbios-ssn389/tcp  open  ldap?445/tcp  open  microsoft-ds  Microsoft Windows XP microsoft-ds1002/tcp open  windows-icfw?1025/tcp open  msrpc         Microsoft Windows RPC1720/tcp open  H.323/Q.931   CompTek AquaGateKeeper5800/tcp open  vnc-http      RealVNC 4.0 (Resolution 400x250; VNC TCP port: 5900)5900/tcp open  vnc           VNC (protocol 3.8)MAC Address: 00:A0:CC:63:85:4B (Lite-on Communications)Device type: general purposeRunning: Microsoft Windows NT/2K/XPOS details: Microsoft Windows XP Pro RC1+ through final releaseService Info: OSs: Windows,Windows XPNmap finished: 2 IP addresses (2 hosts up) scanned in 88.392 seconds译注该Nmap参考指南中文版由Fei Yang fyang1024@gmail.com和Lei Lililei_721@6611.org 从英文版本[1]翻译而来。 我们希望这将使全世界使用中文的人们更了解Nmap,但我们不能保证该译本和官方的 英文版本一样完整,也不能保证同步更新。 它可以在Creative Commons AttributionLicense[2]下被修改并重新发布。选项概要当Nmap不带选项运行时,该选项概要会被输出,最新的版本在这里 http://www.insecure.org/nmap/data/nmap.usage.txt。 它帮助人们记住最常用的选项,但不能替代本手册其余深入的文档,一些晦涩的选项甚至不在这里。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-255.0-255.1-254-iL <inputfilename>: Input from list of hosts/networks-iR <num hosts>: Choose random targets--exclude <host1[,host2][,host3],...>: Exclude hosts/networks--excludefile <exclude_file>: Exclude list from fileHOST DISCOVERY:-sL: List Scan - simply list targets to scan-sP: Ping Scan - go no further than determining if host is online-P0: Treat all hosts as online -- skip host discovery-PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery probes to given ports-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes-n/-R: Never do DNS resolution/Always resolve [default: sometimes resolve]SCAN TECHNIQUES:-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans-sN/sF/sX: TCP Null, FIN, and Xmas scans--scanflags <flags>: Customize TCP scan flags-sI <zombie host[:probeport]>: Idlescan-sO: IP protocol scan-b <ftp relay host>: FTP bounce scanPORT SPECIFICATION AND SCAN ORDER:-p <port ranges>: Only scan specified portsEx: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080-F: Fast - Scan only the ports listed in the nmap-services file)-r: Scan ports consecutively - don't randomizeSERVICE/VERSION DETECTION:-sV: Probe open ports to determine service/version info--version-light: Limit to most likely probes for faster identification--version-all: Try every single probe for version detection--version-trace: Show detailed version scan activity (for debugging)OS DETECTION:-O: Enable OS detection--osscan-limit: Limit OS detection to promising targets--osscan-guess: Guess OS more aggressivelyTIMING AND PERFORMANCE:-T[0-6]: Set timing template (higher is faster)--min-hostgroup/max-hostgroup <msec>: Parallel host scan group sizes--min-parallelism/max-parallelism <msec>: Probe parallelization--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specifiesprobe round trip time.--host-timeout <msec>: Give up on target after this long--scan-delay/--max-scan-delay <msec>: Adjust delay between probesFIREWALL/IDS EVASION AND SPOOFING:-f; --mtu <val>: fragment packets (optionally w/given MTU)-D <decoy1,decoy2[,ME],...>: 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--ttl <val>: Set IP time-to-live field--spoof-mac <mac address, prefix, or vendor name>: Spoof your MAC addressOUTPUT:-oN/-oX/-oS/-oG <file>: Output scan results in normal, XML, s|<rIpt kIddi3,and Grepable format, respectively, to the given filename.-oA <basename>: Output in the three major formats at once-v: Increase verbosity level (use twice for more effect)-d[level]: Set or increase debugging level (Up to 9 is meaningful)--packet-trace: Show all packets sent and received--iflist: Print host interfaces and routes (for debugging)--append-output: Append to rather than clobber specified output files--resume <filename>: Resume an aborted scan--stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML--no-stylesheet: Prevent Nmap from associating XSL stylesheet w/XML outputMISC:-6: Enable IPv6 scanning-A: Enables OS detection and Version detection--datadir <dirname>: Specify custom Nmap data file location--send-eth/--send-ip: Send packets using raw ethernet frames or IP packets--privileged: Assume that the user is fully privileged-V: Print version number-h: Print this help summary page.EXAMPLES:nmap -v -A scanme.nmap.orgnmap -v -sP 192.168.0.0/16 10.0.0.0/8nmap -v -iR 10000 -P0 -p 80目标说明除了选项,所有出现在Nmap命令行上的都被视为对目标主机的说明。 最简单的情况是指定一个目标IP地址或主机名。有时候您希望扫描整个网络的相邻主机。为此,Nmap支持CIDR风格的地址。您可以附加 一个/numbit在一个IP地址或主机名后面, Nmap将会扫描所有和该参考IP地址具有 numbit相同比特的所有IP地址或主机。 例如,192.168.10.0/24将会扫描192.168.10.0 (二进制格式: 1100000010101000 00001010 00000000)和192.168.10.255 (二进制格式: 11000000 10101000 00001010 11111111)之间的256台主机。 192.168.10.40/24 将会做同样的事情。假设主机 scanme.nmap.org的IP地址是205.217.153.62, scanme.nmap.org/16将扫描205.217.0.0和205.217.255.255之间的65,536 个IP地址。 所允许的最小值是/1, 这将会扫描半个互联网。最大值是/32,这将会扫描该主机或IP地址, 因为所有的比特都固定了。CIDR标志位很简洁但有时候不够灵活。例如,您也许想要扫描 192.168.0.0/16,但略过任何以.0或者.255 结束的IP地址,因为它们通常是广播地址。 Nmap通过八位字节地址范围支持这样的扫描 您可以用逗号分开的数字或范围列表为IP地址的每个八位字节指定它的范围。例如,192.168.0-255.1-254 将略过在该范围内以.0和.255结束的地址。 范围不必限于最后的8位:0-255.0-255.13.37 将在整个互联网范围内扫描所有以13.37结束的地址。 这种大范围的扫描对互联网调查研究也许有用。IPv6地址只能用规范的IPv6地址或主机名指定。 CIDR 和八位字节范围不支持IPv6,因为它们对于IPv6几乎没什么用。Nmap命令行接受多个主机说明,它们不必是相同类型。命令nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255将和您预期的一样执行。虽然目标通常在命令行指定,下列选项也可用来控制目标的选择:-iL <inputfilename> (从列表中输入)从 inputfilename中读取目标说明。在命令行输入 一堆主机名显得很笨拙,然而经常需要这样。 例如,您的DHCP服务器可能导出10,000个当前租约的列表,而您希望对它们进行 扫描。如果您不是使用未授权的静态IP来定位主机,或许您想要扫描所有IP地址。只要生成要扫描的主机的列表,用-iL 把文件名作为选项传给Nmap。列表中的项可以是Nmap在 命令行上接受的任何格式(IP地址,主机名,CIDR,IPv6,或者八位字节范围)。 每一项必须以一个或多个空格,制表符或换行符分开。 如果您希望Nmap从标准输入而不是实际文件读取列表,您可以用一个连字符(-)作为文件名。-iR <hostnum> (随机选择目标)对于互联网范围内的调查和研究, 您也许想随机地选择目标。 hostnum 选项告诉 Nmap生成多少个IP。不合需要的IP如特定的私有,组播或者未分配的地址自动 略过。选项 0 意味着永无休止的扫描。记住,一些网管对于未授权的扫描可能会很感冒并加以抱怨。使用该选项的后果自负! 如果在某个雨天的下午,您觉得实在无聊, 试试这个命令nmap -sS -PS80 -iR 0 -p 80随机地找一些网站浏览。--exclude <host1[,host2][,host3],...> (排除主机/网络)如果在您指定的扫描范围有一些主机或网络不是您的目标, 那就用该选项加上以逗号分隔的列表排除它们。该列表用正常的Nmap语法, 因此它可以包括主机名,CIDR,八位字节范围等等。 当您希望扫描的网络包含执行关键任务的服务器,已知的对端口扫描反应强烈的系统或者被其它人看管的子网时,这也许有用。--excludefile <excludefile> (排除文件中的列表)这和--exclude 选项的功能一样,只是所排除的目标是用以 换行符,空格,或者制表符分隔的 excludefile提供的,而不是在命令行上输入的。主机发现任何网络探测任务的最初几个步骤之一就是把一组IP范围(有时该范围是巨大的)缩小为 一列活动的或者您感兴趣的主机。扫描每个IP的每个端口很慢,通常也没必要。 当然,什么样的主机令您感兴趣主要依赖于扫描的目的。网管也许只对运行特定服务的主机感兴趣,而从事安全的人士则可能对一个马桶都感兴趣,只要它有IP地址:-)。一个系统管理员 也许仅仅使用Ping来定位内网上的主机,而一个外部入侵测试人员则可能绞尽脑汁用各种方法试图 突破防火墙的封锁。由于主机发现的需求五花八门,Nmap提供了一箩筐的选项来定制您的需求。 主机发现有时候也叫做ping扫描,但它远远超越用世人皆知的ping工具 发送简单的ICMP回声请求报文。用户完全可以通过使用列表扫描(-sL)或者 通过关闭ping (-P0)跳过ping的步骤,也可以使用多个端口把TPCSYN/ACK,UDP和ICMP 任意组合起来玩一玩。这些探测的目的是获得响应以显示某个IP地址是否是活动的(正在被某 主机或者网络设备使用)。 在许多网络上,在给定的时间,往往只有小部分的IP地址是活动的。 这种情况在基于RFC1918的私有地址空间如10.0.0.0/8尤其普遍。那个网络有16,000,000个IP,但我见过一些使用它的公司连1000台机器都没有。 主机发现能够找到零星分布于IP地址海洋上的那些机器。如果没有给出主机发现的选项,Nmap 就发送一个TCP ACK报文到80端口和一个ICMP回声请求到每台目标机器。 一个例外是ARP扫描用于局域网上的任何目标机器。对于非特权UNIX shell用户,使用connect()系统调用会发送一个SYN报文而不是ACK 这些默认行为和使用-PA-PE选项的效果相同。 扫描局域网时,这种主机发现一般够用了,但是对于安全审核,建议进行 更加全面的探测。-P*选项(用于选择 ping的类型)可以被结合使用。 您可以通过使用不同的TCP端口/标志位和ICMP码发送许多探测报文 来增加穿透防守严密的防火墙的机会。另外要注意的是即使您指定了其它 -P*选项,ARP发现(-PR)对于局域网上的 目标而言是默认行为,因为它总是更快更有效。下列选项控制主机发现。-sL (列表扫描)列表扫描是主机发现的退化形式,它仅仅列出指定网络上的每台主机, 不发送任何报文到目标主机。默认情况下,Nmap仍然对主机进行反向域名解析以获取 它们的名字。简单的主机名能给出的有用信息常常令人惊讶。例如, fw.chi.playboy.com是花花公子芝加哥办公室的防火墙。Nmap最后还会报告IP地址的总数。列表扫描可以很好的确保您拥有正确的目标IP。 如果主机的域名出乎您的意料,那么就值得进一步检查以防错误地扫描其它组织的网络。既然只是打印目标主机的列表,像其它一些高级功能如端口扫描,操作系统探测或者Ping扫描 的选项就没有了。如果您希望关闭ping扫描而仍然执行这样的高级功能,请继续阅读关于 -P0选项的介绍。-sP (Ping扫描)该选项告诉Nmap仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。 没有进一步的测试 (如端口扫描或者操作系统探测)。 这比列表扫描更积极,常常用于 和列表扫描相同的目的。它可以得到些许目标网络的信息而不被特别注意到。对于攻击者来说,了解多少主机正在运行比列表扫描提供的一列IP和主机名往往更有价值。系统管理员往往也很喜欢这个选项。 它可以很方便地得出 网络上有多少机器正在运行或者监视服务器是否正常运行。常常有人称它为 地毯式ping,它比ping广播地址更可靠,因为许多主机对广播请求不响应。-sP选项在默认情况下, 发送一个ICMP回声请求和一个TCP报文到80端口。如果非特权用户执行,就发送一个SYN报文 (用connect()系统调用)到目标机的80端口。 当特权用户扫描局域网上的目标机时,会发送ARP请求(-PR), ,除非使用了--send-ip选项。-sP选项可以和除-P0)之外的任何发现探测类型-P* 选项结合使用以达到更大的灵活性。 一旦使用了任何探测类型和端口选项,默认的探测(ACK和回应请求)就被覆盖了。 当防守严密的防火墙位于运行Nmap的源主机和目标网络之间时,推荐使用那些高级选项。否则,当防火墙捕获并丢弃探测包或者响应包时,一些主机就不能被探测到。-P0 (无ping)该选项完全跳过Nmap发现阶段。 通常Nmap在进行高强度的扫描时用它确定正在运行的机器。 默认情况下,Nmap只对正在运行的主机进行高强度的探测如 端口扫描,版本探测,或者操作系统探测。用-P0禁止 主机发现会使Nmap对每一个指定的目标IP地址进行所要求的扫描。所以如果在命令行指定一个B类目标地址空间(/16), 所有 65,536 个IP地址都会被扫描。 -P0的第二个字符是数字0而不是字母O。 和列表扫描一样,跳过正常的主机发现,但不是打印一个目标列表, 而是继续执行所要求的功能,就好像每个IP都是活动的。-PS [portlist] (TCP SYN Ping)该选项发送一个设置了SYN标志位的空TCP报文。 默认目的端口为80 (可以通过改变nmap.h) 文件中的DEFAULT-TCP-PROBE-PORT值进行配置,但不同的端口也可以作为选项指定。 甚至可以指定一个以逗号分隔的端口列表(如 -PS22,23,25,80,113,1050,35000),在这种情况下,每个端口会被并发地扫描。SYN标志位告诉对方您正试图建立一个连接。 通常目标端口是关闭的,一个RST (复位) 包会发回来。 如果碰巧端口是开放的,目标会进行TCP三步握手的第二步,回应 一个SYN/ACK TCP报文。然后运行Nmap的机器则会扼杀这个正在建立的连接,发送一个RST而非ACK报文,否则,一个完全的连接将会建立。 RST报文是运行Nmap的机器而不是Nmap本身响应的,因为它对收到 的SYN/ACK感到很意外。Nmap并不关心端口开放还是关闭。 无论RST还是SYN/ACK响应都告诉Nmap该主机正在运行。在UNIX机器上,通常只有特权用户 root 能否发送和接收 原始的TCP报文。因此作为一个变通的方法,对于非特权用户, Nmap会为每个目标主机进行系统调用connect(),它也会发送一个SYN 报文来尝试建立连接。如果connect()迅速返回成功或者一个ECONNREFUSED失败,下面的TCP堆栈一定已经收到了一个SYN/ACK或者RST,该主机将被 标志位为在运行。 如果连接超时了,该主机就标志位为down掉了。这种方法也用于IPv6 连接,因为Nmap目前还不支持原始的IPv6报文。-PA [portlist] (TCP ACK Ping)TCP ACK ping和刚才讨论的SYN ping相当类似。 也许您已经猜到了,区别就是设置TCP的ACK标志位而不是SYN标志位。 ACK报文表示确认一个建立连接的尝试,但该连接尚未完全建立。 所以远程主机应该总是回应一个RST报文,因为它们并没有发出过连接请求到运行Nmap的机器,如果它们正在运行的话。-PA选项使用和SYN探测相同的默认端口(80),也可以 用相同的格式指定目标端口列表。如果非特权用户尝试该功能, 或者指定的是IPv6目标,前面说过的connect()方法将被使用。 这个方法并不完美,因为它实际上发送的是SYN报文,而不是ACK报文。提供SYN和ACK两种ping探测的原因是使通过防火墙的机会尽可能大。 许多管理员会配置他们的路由器或者其它简单的防火墙来封锁SYN报文,除非 连接目标是那些公开的服务器像公司网站或者邮件服务器。 这可以阻止其它进入组织的连接,同时也允许用户访问互联网。这种无状态的方法几乎不占用防火墙/路由器的资源,因而被硬件和软件过滤器 广泛支持。Linux Netfilter/iptables 防火墙软件提供方便的 --syn选项来实现这种无状态的方法。 当这样的无状态防火墙规则存在时,发送到关闭目标端口的SYN ping探测 (-PS)很可能被封锁。这种情况下,ACK探测格外有闪光点,因为它正好利用了 这样的规则。另外一种常用的防火墙用有状态的规则来封锁非预期的报文。 这一特性已开始只存在于高端防火墙,但是这些年类它越来越普遍了。 Linux Netfilter/iptables 通过 --state选项支持这一特性,它根据连接状态把报文进行分类。SYN探测更有可能用于这样的系统,由于没头没脑的ACK报文 通常会被识别成伪造的而丢弃。解决这个两难的方法是通过即指定 -PS又指定-PA来即发送SYN又发送ACK。-PU [portlist] (UDP Ping)还有一个主机发现的选项是UDP ping,它发送一个空的(除非指定了--data-length UDP报文到给定的端口。端口列表的格式和前面讨论过的-PS和-PA选项还是一样。 如果不指定端口,默认是31338。该默认值可以通过在编译时改变nmap.h文件中的DEFAULT-UDP-PROBE-PORT值进行配置。默认使用这样一个奇怪的端口是因为对开放端口 进行这种扫描一般都不受欢迎。如果目标机器的端口是关闭的,UDP探测应该马上得到一个ICMP端口无法到达的回应报文。 这对于Nmap意味着该机器正在运行。 许多其它类型的ICMP错误,像主机/网络无法到达或者TTL超时则表示down掉的或者不可到达的主机。没有回应也被这样解释。如果到达一个开放的端口,大部分服务仅仅忽略这个 空报文而不做任何回应。这就是为什么默认探测端口是31338这样一个 极不可能被使用的端口。少数服务如chargen会响应一个空的UDP报文, 从而向Nmap表明该机器正在运行。该扫描类型的主要优势是它可以穿越只过滤TCP的防火墙和过滤器。 例如。我曾经有过一个Linksys BEFW11S4无线宽带路由器。默认情况下, 该设备对外的网卡过滤所有TCP端口,但UDP探测仍然会引发一个端口不可到达 的消息,从而暴露了它自己。-PE; -PP; -PM (ICMP Ping Types)除了前面讨论的这些不常见的TCP和UDP主机发现类型, Nmap也能发送世人皆知的ping 程序所发送的报文。Nmap发送一个ICMP type 8 (回声请求)报文到目标IP地址, 期待从运行的主机得到一个type 0 (回声响应)报文。 对于网络探索者而言,不幸的是,许多主机和防火墙现在封锁这些报文,而不是按期望的那样响应, 参见RFC 1122[3]。因此,仅仅ICMP扫描对于互联网上的目标通常是不够的。 但对于系统管理员监视一个内部网络,它们可能是实际有效的途径。 使用-PE选项打开该回声请求功能。虽然回声请求是标准的ICMP ping查询, Nmap并不止于此。ICMP标准 (RFC 792[4])还规范了时间戳请求,信息请求 request,和地址掩码请求,它们的代码分别是13,15和17。 虽然这些查询的表面目的是获取信息如地址掩码和当前时间, 它们也可以很容易地用于主机发现。很简单,回应的系统就是在运行的系统。Nmap目前没有实现信息请求报文, 因为它们还没有被广泛支持。RFC 1122 坚持 “主机不应该实现这些消息”。 时间戳和地址掩码查询可以分别用-PP和-PM选项发送。 时间戳响应(ICMP代码14)或者地址掩码响应(代码18)表示主机在运行。当管理员特别封锁了回声请求报文而忘了其它ICMP查询可能用于 相同目的时,这两个查询可能很有价值。-PR (ARP Ping)最常见的Nmap使用场景之一是扫描一个以太局域网。 在大部分局域网上,特别是那些使用基于 RFC1918私有地址范围的网络,在一个给定的时间绝大部分 IP地址都是不使用的。 当Nmap试图发送一个原始IP报文如ICMP回声请求时, 操作系统必须确定对应于目标IP的硬件地址(ARP),这样它才能把以太帧送往正确的地址。 这一般比较慢而且会有些问题,因为操作系统设计者认为一般不会在短时间内 对没有运行的机器作几百万次的ARP请求。当进行ARP扫描时,Nmap用它优化的算法管理ARP请求。 当它收到响应时, Nmap甚至不需要担心基于IP的ping报文,既然它已经知道该主机正在运行了。 这使得ARP扫描比基于IP的扫描更快更可靠。 所以默认情况下,如果Nmap发现目标主机就在它所在的局域网上,它会进行ARP扫描。即使指定了不同的ping类型(如 -PI或者 -PS) ,Nmap也会对任何相同局域网上的目标机使用ARP。 如果您真的不想要ARP扫描,指定 --send-ip。-n (不用域名解析)告诉Nmap 永不对它发现的活动IP地址进行反向域名解析。 既然DNS一般比较慢,这可以让事情更快些。-R (为所有目标解析域名)告诉Nmap 永远 对目标IP地址作反向域名解析。 一般只有当发现机器正在运行时才进行这项操作。--system-dns (使用系统域名解析器)默认情况下,Nmap通过直接发送查询到您的主机上配置的域名服务器 来解析域名。为了提高性能,许多请求 (一般几十个 ) 并发执行。如果您希望使用系统自带的解析器,就指定该选项 (通过getnameinfo()调用一次解析一个IP)。除非Nmap的DNS代码有bug--如果是这样,请联系我们。一般不使用该选项,因为它慢多了。系统解析器总是用于IPv6扫描。端口扫描基础虽然Nmap这些年来功能越来越多, 它也是从一个高效的端口扫描器开始的,并且那仍然是它的核心功能。 nmap target这个简单的命令扫描主机target上的超过 1660个TCP端口。 。许多传统的端口扫描器只列出所有端口是开放还是关闭的, Nmap的信息粒度比它们要细得多。它把端口分成六个状态: open(开放的), closed(关闭的),filtered(被过滤的), unfiltered(未被过滤的), open|filtered(开放或者被过滤的),或者 closed|filtered(关闭或者被过滤的)。这些状态并非端口本身的性质,而是描述Nmap怎样看待它们。例如, 对于同样的目标机器的135/tcp端口,从同网络扫描显示它是开放的,而跨网络作完全相同的扫描则可能显示它是 filtered(被过滤的)。Nmap所识别的6个端口状态。open(开放的)应用程序正在该端口接收TCP 连接或者UDP报文。发现这一点常常是端口扫描 的主要目标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用。closed(关闭的)关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。 它们可以显示该IP地址上(主机发现,或者ping扫描)的主机正在运行up 也对部分操作系统探测有所帮助。因为关闭的关口是可访问的,也许过会儿值得再扫描一下,可能一些又开放了。 系统管理员可能会考虑用防火墙封锁这样的端口。 那样他们就会被显示为被过滤的状态,下面讨论。filtered(被过滤的)由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供 任何信息。有时候它们响应ICMP错误消息如类型3代码13 (无法到达目标:通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧, 不做任何响应。 这迫使Nmap重试若干次以访万一探测包是由于网络阻塞丢弃的。 这使得扫描速度明显变慢。unfiltered(未被过滤的)未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。 只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。 用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定 端口是否开放。open|filtered(开放或者被过滤的)当无法确定端口是开放还是被过滤的,Namp就把该端口划分成 这种状态。开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。 UDP,IP协议,FIN,Null,和Xmas扫描可能把端口归入此类。closed|filtered(关闭或者被过滤的)该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中。端口扫描技术作为一个修车新手,我可能折腾几个小时来摸索怎样把基本工具(锤子,胶带,扳子等) 用于手头的任务。当我惨痛地失败,把我的老爷车拖到一个真正的技师那儿的时候 ,他总是在他的工具箱里翻来翻去,直到拽出一个完美的工具然后似乎不费吹灰之力搞定它。端口扫描的艺术和这个类似。专家理解成打的扫描技术,选择最适合的一种 (或者组合)来完成给定的 任务。 另一方面,没有经验的用户和刚入门者总是用默认的SYN扫描解决每个问题。 既然Nmap是免费的,掌握端口扫描的唯一障碍就是知识。这当然是汽车世界所不能比的,在那里,可能需要高超的技巧才能确定您需要一个压杆弹簧压缩机,接着您还得为它付数千美金。大部分扫描类型只对特权用户可用。 这是因为他们发送接收原始报文,这在Unix系统需要root权限。 在Windows上推荐使用administrator账户,但是当WinPcap已经被加载到操作系统时, 非特权用户也可以正常使用Nmap。当Namp在1997年发布时,需要root权限是一个严重的局限,因为很多用户只有共享的shell账户。现在,世界变了,计算机便宜了,更多人拥有互联网连接 ,桌面UNIX系统 (包括Linux和MAC OS X)很普遍了。Windows版本的Nmap现在也有了,这使它可以运行在更多的桌面上。由于所有这些原因,用户不再需要用有限的共享shell账户运行Nmap。 这是很幸运的,因为特权选项让Nmap强大得多也灵活得多。虽然Nmap努力产生正确的结果,但请记住所有结果都是基于目标机器(或者它们前面的防火墙)返回的报文的。 。这些主机也许是不值得信任的,它们可能响应以迷惑或误导Nmap的报文。 更普遍的是非RFC兼容的主机以不正确的方式响应Nmap探测。FIN,Null和Xmas扫描特别容易遇到这个问题。这些是特定扫描类型的问题,因此我们在个别扫描类型里讨论它们。这一节讨论Nmap支持的大约十几种扫描技术。 一般一次只用一种方法, 除了UDP扫描(-sU)可能和任何一种TCP扫描类型结合使用。 友情提示一下,端口扫描类型的选项格式是-sC, 其中C 是个显眼的字符,通常是第一个字符。 一个例外是deprecated FTPbounce扫描(-b)。默认情况下,Nmap执行一个 SYN扫描,但是如果用户没有权限发送原始报文(在UNIX上需要root权限)或者如果指定的是IPv6目标,Nmap调用connect()。 本节列出的扫描中,非特权用户只能执行connect()和ftp bounce扫描。-sS (TCP SYN扫描)SYN扫描作为默认的也是最受欢迎的扫描选项,是有充分理由的。 它执行得很快,在一个没有入侵防火墙的快速网络上,每秒钟可以扫描数千个 端口。 SYN扫描相对来说不张扬,不易被注意到,因为它从来不完成TCP连接。它也不像Fin/Null/Xmas,Maimon和Idle扫描依赖于特定平台,而可以应对任何兼容的 TCP协议栈。 它还可以明确可靠地区分open(开放的), closed(关闭的),和filtered(被过滤的) 状态它常常被称为半开放扫描, 因为它不打开一个完全的TCP连接。它发送一个SYN报文, 就像您真的要打开一个连接,然后等待响应。 SYN/ACK表示端口在监听 (开放),而 RST (复位)表示没有监听者。如果数次重发后仍没响应, 该端口就被标记为被过滤。如果收到ICMP不可到达错误(类型3,代码1,2,3,9,10,或者13),该端口也被标记为被过滤。-sT (TCP connect()扫描)当SYN扫描不能用时,CP Connect()扫描就是默认的TCP扫描。 当用户没有权限发送原始报文或者扫描IPv6网络时,就是这种情况。 Instead of writing raw packets as most other scan types do,Nmap通过创建connect()系统调用要求操作系统和目标机以及端口建立连接,而不像其它扫描类型直接发送原始报文。 这是和Web浏览器,P2P客户端以及大多数其它网络应用程序用以建立连接一样的 高层系统调用。它是叫做Berkeley Sockets API编程接口的一部分。Nmap用该API获得每个连接尝试的状态信息,而不是读取响应的原始报文。当SYN扫描可用时,它通常是更好的选择。因为Nmap对高层的 connect()调用比对原始报文控制更少, 所以前者效率较低。 该系统调用完全连接到开放的目标端口而不是像SYN扫描进行 半开放的复位。这不仅花更长时间,需要更多报文得到同样信息,目标机也更可能记录下连接。IDS(入侵检测系统)可以捕获两者,但大部分机器没有这样的警报系统。 当Nmap连接,然后不发送数据又关闭连接, 许多普通UNIX系统上的服务会在syslog留下记录,有时候是一条加密的错误消息。此时,有些真正可怜的服务会崩溃,虽然这不常发生。如果管理员在日志里看到来自同一系统的 一堆连接尝试,她应该知道她的系统被扫描了。-sU (UDP扫描)虽然互联网上很多流行的服务运行在TCP 协议上,UDP[5]服务也不少。 DNS,SNMP,和DHCP (注册的端口是53,161/162,和67/68)是最常见的三个。 因为UDP扫描一般较慢,比TCP更困难,一些安全审核人员忽略这些端口。这是一个错误,因为可探测的UDP服务相当普遍,攻击者当然不会忽略整个协议。 所幸,Nmap可以帮助记录并报告UDP端口。UDP扫描用-sU选项激活。它可以和TCP扫描如 SYN扫描 (-sS)结合使用来同时检查两种协议。UDP扫描发送空的(没有数据)UDP报头到每个目标端口。 如果返回ICMP端口不可到达错误(类型3,代码3), 该端口是closed(关闭的)。 其它ICMP不可到达错误(类型3, 代码1,2,9,10,或者13)表明该端口是filtered(被过滤的)。偶尔地,某服务会响应一个UDP报文,证明该端口是open(开放的)。 如果几次重试后还没有响应,该端口就被认为是 open|filtered(开放|被过滤的)。 这意味着该端口可能是开放的,也可能包过滤器正在封锁通信。 可以用版本扫描(-sV)帮助区分真正的开放端口和被过滤的端口。UDP扫描的巨大挑战是怎样使它更快速。 开放的和被过滤的端口很少响应,让Nmap超时然后再探测,以防探测帧或者 响应丢失。关闭的端口常常是更大的问题。 它们一般发回一个ICMP端口无法到达错误。但是不像关闭的TCP端口响应SYN或者Connect扫描所发送的RST报文,许多主机在默认情况下限制ICMP端口不可到达消息。 Linux和Solaris对此特别严格。例如, Linux 2.4.20内核限制一秒钟只发送一条目标不可到达消息 (见net/ipv4/icmp。c)。Nmap探测速率限制并相应地减慢来避免用那些目标机会丢弃的无用报文来阻塞 网络。不幸的是,Linux式的一秒钟一个报文的限制使65,536个端口的扫描要花 18小时以上。加速UDP扫描的方法包括并发扫描更多的主机,先只对主要端口进行快速扫描,从防火墙后面扫描,使用--host-timeout跳过慢速的 主机。-sN; -sF; -sX (TCP Null,FIN,and Xmas扫描)这三种扫描类型 (甚至用下一节描述的 --scanflags 选项的更多类型) 在TCP RFC[6] 中发掘了一个微妙的方法来区分open(开放的)和 closed(关闭的)端口。第65页说“如果 [目标]端口状态是关闭的.... 进入的不含RST的报文导致一个RST响应。” 接下来的一页讨论不设置SYN,RST,或者ACK位的报文发送到开放端口: “理论上,这不应该发生,如果您确实收到了,丢弃该报文,返回。 ”如果扫描系统遵循该RFC,当端口关闭时,任何不包含SYN,RST,或者ACK位的报文会导致 一个RST返回,而当端口开放时,应该没有任何响应。只要不包含SYN,RST,或者ACK, 任何其它三种(FIN,PSH,and URG)的组合都行。Nmap有三种扫描类型利用这一点:Null扫描 (-sN)不设置任何标志位(tcp标志头是0)FIN扫描 (-sF)只设置TCP FIN标志位。Xmas扫描 (-sX)设置FIN,PSH,和URG标志位,就像点亮圣诞树上所有的灯一样。除了探测报文的标志位不同,这三种扫描在行为上完全一致。 如果收到一个RST报文,该端口被认为是 closed(关闭的),而没有响应则意味着 端口是open|filtered(开放或者被过滤的)。 如果收到ICMP不可到达错误(类型 3,代号 1,2,3,9,10,或者13),该端口就被标记为被过滤的。这些扫描的关键优势是它们能躲过一些无状态防火墙和报文过滤路由器。 另一个优势是这些扫描类型甚至比SYN扫描还要隐秘一些。但是别依赖它 -- 多数 现代的IDS产品可以发现它们。一个很大的不足是并非所有系统都严格遵循RFC 793。许多系统不管端口开放还是关闭,都响应RST。 这导致所有端口都标记为closed(关闭的)。 这样的操作系统主要有Microsoft Windows,许多Cisco设备,BSDI,以及IBM OS/400。 但是这种扫描对多数UNIX系统都能工作。这些扫描的另一个不足是它们不能辨别open(开放的)端口和一些特定的 filtered(被过滤的)端口,从而返回 open|filtered(开放或者被过滤的)。-sA (TCP ACK扫描)这种扫描与目前为止讨论的其它扫描的不同之处在于 它不能确定open(开放的)或者 open|filtered(开放或者过滤的))端口。 它用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。ACK扫描探测报文只设置ACK标志位(除非您使用 --scanflags)。当扫描未被过滤的系统时, open(开放的)和closed(关闭的) 端口 都会返回RST报文。Nmap把它们标记为 unfiltered(未被过滤的),意思是 ACK报文不能到达,但至于它们是open(开放的)或者 closed(关闭的)无法确定。不响应的端口 或者发送特定的ICMP错误消息(类型3,代号1,2,3,9,10, 或者13)的端口,标记为 filtered(被过滤的)。-sW (TCP窗口扫描)除了利用特定系统的实现细节来区分开放端口和关闭端口,当收到RST时不总是打印unfiltered, 窗口扫描和ACK扫描完全一样。 它通过检查返回的RST报文的TCP窗口域做到这一点。 在某些系统上,开放端口用正数表示窗口大小(甚至对于RST报文)而关闭端口的窗口大小为0。因此,当收到RST时,窗口扫描不总是把端口标记为 unfiltered, 而是根据TCP窗口值是正数还是0,分别把端口标记为open或者 closed该扫描依赖于互联网上少数系统的实现细节, 因此您不能永远相信它。不支持它的系统会通常返回所有端口closed。 当然,一台机器没有开放端口也是有可能的。 如果大部分被扫描的端口是 closed,而一些常见的端口 (如 22, 25,53) 是 filtered,该系统就非常可疑了。偶尔地,系统甚至会显示恰恰相反的行为。 如果您的扫描显示1000个开放的端口和3个关闭的或者被过滤的端口, 那么那3个很可能也是开放的端口。

安装 nmap 监控 RocketMQ相关推荐

  1. 监控RocketMQ消费数据延迟告警发送企业微信

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 背景 1 RocketMQ介绍 1.1 RocketMQ 特点 1.2 RocketMQ 优势 1.3.RocketMQ环境 ...

  2. 使用Prometheus监控RocketMQ

    文章目录 配置步骤 1 安装RocketMQ Exporter 2 配置Prometheus 3 配置告警规则 4 配置grafana 4.1 导入模板 5 参考链接 6 关于作者 本文基于官方提供的 ...

  3. 《Nmap渗透测试指南》—第1章1.2节Windows下安装Nmap

    本节书摘来自异步社区<Nmap渗透测试指南>一书中的第1章1.2节Windows下安装Nmap,作者 商广明,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1. ...

  4. CentOS安装nmap端口查看工具

    下面教大家在CentOS中用nmap查看主机端口: 一.安装nmap yum install nmap    #输入y安装 二.使用nmap       nmap localhost    #查看主机 ...

  5. Linux安装rpc监控系统资源

    Linux安装rpc监控系统资源 1.rpc服务需rsh的支持,一般情况下rsh已安装.rpm -qa rsh查看. 2.右键另存为http://heanet.dl.sourceforge.net/s ...

  6. Mac安装nmap及常用命令【亲测有用】

    nmap是网络扫描和主机检测的工具. 用nmap进行信息收集和检测漏洞,功能有: 检测存活主机. 检测主机开放端口(端口发现或枚举). 检测端口对应的软件和版本. 检测操作系统类型.版本,硬件地址和软 ...

  7. Zabbix(一)安装zabbix监控服务配置与添加agent主机的三种方式

    zabbix基础介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

  8. 安装Greenplum-perfmon-web监控软件遇到的问题及解决

    安装Greenplum-perfmon-web监控软件遇到的问题及解决 参考文章: (1)安装Greenplum-perfmon-web监控软件遇到的问题及解决 (2)https://www.cnbl ...

  9. Docker安装elasticsearch-head监控ES步骤 - gmijie的专栏 - CSDN博客

    Docker安装elasticsearch-head监控ES步骤 - gmijie的专栏 - CSDN博客 原文:Docker安装elasticsearch-head监控ES步骤 - gmijie的专 ...

最新文章

  1. ImportError: DLL load failed: 找不到指定的模块。 TensorFlow 1.13
  2. Windows XP下屏蔽Ctrl_Alt_Del键的方法
  3. 力扣: 88. 合并两个有序数组
  4. 建造SAP Fiori部署
  5. C语言学习之1到10的奇数相乘1到10的偶数相乘
  6. [蓝桥杯2016初赛]搭积木-枚举,next_permutation
  7. SqlServer 时间格式化
  8. C++——统计多行单个字符类型个数
  9. vscode python环境配置_用VScode配置Python开发环境
  10. python图像处理应用的前景_传统图像处理还有前景吗?
  11. Linux—文件系统
  12. python 镜像_python测开平台使用dockerfile构建镜像
  13. 【leetcode】Longest Common Prefix
  14. 增值税怎么用计算机算,增值税计算器
  15. NRF52840学习历程(十一)幻彩RGB灯之WS2812B
  16. 出售计算机广告英文作文,英语四级作文参考范文:二手电脑广告
  17. 车靓靓·微水上门洗车项目介绍
  18. 【MC-CNN论文翻译】Computing the Stereo Matching Cost with a Convolutional Neural Network
  19. 基于proteus的51单片机仿真实例二、关于proteus
  20. Virus_JS3_PyAnalysisAndSummary

热门文章

  1. 【iOS 开发】进度条控件 UIProgressView
  2. CTRL+E提取Excel表格数字
  3. Equals()和运算符==的区别
  4. I am David
  5. ORMLite使用示例
  6. 亿欧 | 认知智能时代,如何发现商业落地的千里马?
  7. 企业业务单骑救主,华为连取两项国内前二、全球前五
  8. 整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的...
  9. Flask结合ECharts实现在线可视化效果,超级详细!
  10. 理解Java的接口和抽象类