この記事のディレクトリ:
1.1 オプションの説明
1.2 スキャンを試す
1.3 スキャン対象の説明
1.4 ポートステータスの説明
1.5 時間パラメータの最適化
1.6 オペレーティングシステムの種類をスキャン
1.7 生存しているホストを迅速にスキャン
1.8 ポートを素早くスキャン
nmap は通常ホストがオンラインかどうか (特に LAN 内に残っているマシンをスキャン)、およびどのポートが開いているかをスキャンするために使用されます。他の機能はほとんど使用されないため、ペネトレーションを行う人はそれらについて詳しく知る必要があるかもしれません。
nmapは自分でインストールする必要があります。
shell> yum -y install nmap
オプションと使用法を表示するには、nmap -h を使用します。強力なツールには必然的にオプションがたくさんありますが、使いやすいものはほとんどありません。
使用法: nmap [スキャン タイプ] [オプション] {ターゲット仕様}
ターゲット仕様:
ホスト名、IP アドレス、ネットワークなどを渡すことができます
例: scanme.nmap.org、microsoft.com /24, 192.168.0.1; 10.0.0-255.1-254
-iL
-iR
- -exclude
--excludefile
HOST DISCOVERY:
-sL: リストスキャン- スキャン対象をリストするだけです
-sn: Ping スキャン - ポート スキャンを無効にします
-Pn: すべてのホストをオンラインとして扱います -- ホスト検出をスキップします
-PS/PA/PU/PY[portlist]:指定されたポートへの TCP SYN/ACK、UDP または SCTP 検出
-PE/PP/PM: ICMP エコー、タイムスタンプ、およびネットマスク要求検出プローブ
-PO[プロトコル リスト]: IP プロトコル Ping
- PR: ARP ping - HW アドレスは必要ありません -> IP 変換
-n/-R: DNS 解決を行わない/常に解決します [デフォルト: 時々]
--dns-servers
--system-dns: OS の DNS リゾルバーを使用します
--traceroute: 各ホストへのホップ パスをトレースします
スキャン技術:
-sS/ sT/sA/sw/sM: TCP SYN/Connect()/ACK/Window/Maimon スキャン
-sU: UDP スキャン
-sN/sF/sX: TCP Null、FIN、および Xmas scans
--scanflags
-sI
-sY/sZ: SCTP INIT/COOKIE-ECHO スキャン
-sO: IP プロトコル スキャン
-b
ポートの指定とスキャン順序:
-p : 指定されたポートのみをスキャン
例: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
-F: デフォルトのスキャンより少ないポートをスキャンします
-r: ポートを連続してスキャンします - ランダム化しないでください
--top-ports
--port-ratio
サービス/バージョン検出:
-sV: 開いているポートを調査してサービス/バージョン情報を決定します
-sR: RPC スキャンを使用して、どのサービスが開いているポートを使用しているかを確認します
--version-intensity
--version-light: 最も可能性の高いプローブ (強度 2) に制限します
--version-all: すべての単一のプローブ (強度 9) を試します
--version-trace: 詳細なバージョン スキャン アクティビティを表示します (デバッグ用)
SCRIPT SCAN:
-sC: --script=default と同等
--script=
--script-args=
--script -trace: 送受信されたすべてのデータを表示します
--script-updatedb: スクリプト データベースを更新します。
OS 検出:
-O: OS 検出を有効にする
--osscan-limit: OS 検出を有望なターゲットに制限します
--osscan-guess: OS をより積極的に推測します
タイミングとパフォーマンス:
時間のかかるオプション秒単位であるか、値に 'ms' (ミリ秒)、
's' (秒)、'm' (分)、または 'h' (時間) を追加します (例: 30m)。
-T<0 -5>: タイミング テンプレートを設定します (大きいほど高速です)
--min-hostgroup/max-hostgroup
--min-Parallelism/max-Parallelism
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout
--max-retries
--host-timeout
--scan-delay/--max-scan-delay
一般的に言えば、すべてのポートが閉じられているのはコンピューターではなく、ルーター、仮想ネットワーク カード、その他のデバイスである可能性があります。
Nmap にはますます多くの機能がありますが、有名なのはそのコア機能のポートスキャンです。
Nmap は、ポートを 6 つの状態に分けます: オープン (オープン)、クローズ (クローズ)、フィルター済み (フィルター済み)、フィルターなし (フィルターなし)、オープン|フィルター済み (オープンまたはフィルター済み)、またはクローズ |フィルター済み (クローズまたはフィルター済み)。
これらの状態はポート自体のプロパティではありませんが、Nmap がポートをどのように表示するかを示します。たとえば、同じターゲット マシンの 135/tcp ポートについて、同じネットワークからスキャンすると、ポートが開いていることがわかりますが、ネットワーク全体でまったく同じスキャンを実行すると、フィルタリングされていることがわかる場合があります。
1.open: (オープン) アプリケーションはこのポートで TCP または UDP パケットを受信しています。多くの場合、これはポート スキャンの主なターゲットになります。
2.closed: (閉じる) 閉じられたポートは Nmap にもアクセスできます (Nmap の検出メッセージを受け入れて応答します) が、そのポートをリッスンしているアプリケーションはありません。
3.filtered: (フィルター済み) ターゲット上でパケット フィルター (ファイアウォール デバイスなど) が設定されているため、検出パケットがポートに到達することがブロックされ、Nmap はポートが開いているかどうかを判断できません。フィルタリングは、ホスト上の特殊なファイアウォール デバイス、ルーター ルール、またはソフトウェア ファイアウォールから行われる場合があります。
4.unfiltered: (unfiltered) unfiltered ステータスは、ポートがアクセス可能であるが、Nmap がポートが開いているか閉じているかを判断できないことを意味します。これらのフィルタされていないポートをウィンドウ スキャン、SYN スキャン、FIN スキャンなどの他の種類のスキャンでスキャンすると、ポートが開いているかどうかを判断するのに役立ちます。
5.open|filtered: (オープンまたはフィルタリング): ポートがオープンであるかフィルタリングされているかを判断できない場合、Nmap はポートをこの状態に分類します。開いているポートが応答しない場合はその一例です。応答がないことは、ターゲット ホスト上のパケット フィルターがプローブ パケットまたはそれによって引き起こされた応答を破棄したことを意味する場合もあります。したがって、Nmap はポートが開いているかフィルタリングされているかを判断できません。
6.closed|filtered: (closed または filtered) このステータスは、Nmap がポートが閉じられているかフィルタリングされているかを判断できない場合に使用されます。 IPID アイドル スキャンでのみ表示される場合があります。
スキャン時間を改善するためのテクニックには、重要でない検出を無視する、最新バージョンの Nmap にアップグレードする (ドキュメントには、nmap のバージョンが高いほどパフォーマンスが向上すると記載されています)、等さらに、時間パラメータを最適化すると、大幅な最適化が行われます。 これらのパラメータは次のとおりです:
タイミングとパフォーマンス:
-T<0-5>: タイミング テンプレートを設定します (高いほど高速です)
。 --min-hostgroup/max-hostgroup
--min-Parallelism/max-Parallelism
--min-rtt -timeout/max-rtt-timeout/initial-rtt-timeout
--max-retries
--host -timeout
--scan-delay/--max-scan-delay
--min-rate
--max-rate
その中で最も重要なのは最初の 3 つです:
1 -T<0-5>: namp が提供するスキャン テンプレートを直接使用することを意味します。デフォルトのテンプレートは「-T 3」です。詳細についてはマニュアルを参照してください。実用的。
2.--min-hostgroup
默认方式下,Nmap采取折衷的方法。开始扫描时的组较小,默认值为5,这样便于尽快产生结果,随后增长组的大小,默认最大为1024。但最小和最大确切的值则依赖于所给定的选项。
--max-hostgroup选项用于说明使用最大的组,Nmap不会超出这个大小。--min-hostgroup选项说明最小的组,Nmap会保持组大于这个值。如果在指定的接口上没有足够的目标主机来满足所指定的最小值,Nmap可能会采用比所指定的值小的组。
这些选项的主要用途是说明一个最小组的大小,使得整个扫描更加快速。通常选择256来扫描C类网段,对于端口数较多的扫描,超出该值没有意义,因为它只是分组了,但是cpu资源是有限的。对于端口数较少的扫描,2048或更大的组大小是有帮助的。
3.--min-parallelism
这些选项用于控制主机组的探测报文数量,可用于端口扫描和主机发现。默认状态下,Nmap基于网络性能计算一个理想的并行度,这个值经常改变。如果报文被丢弃,Nmap降低速度,探测报文数量减少。随着网络性能的改善,理想的探测报文数量会缓慢增加。默认状态下,当网络不可靠时,理想的并行度值可能为1,在好的条件下,可能会增长至几百。
最常见的应用是--min-parallelism值大于1,以加快性能不佳的主机或网络的扫描。这个选项具有风险,如果过高则影响准确度,同时也会降低Nmap基于网络条件动态控制并行度的能力。
一般说来,这个值要设置的和--min-hostgroup的值相等或大于它性能才会提升。
扫描操作系统。操作系统的扫描有可能会出现误报。
C:\Windows\system32>nmap -O 127.0.0.1 Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-09 13:18 CSTNmap scan report for lmlicenses.wip4.adobe.com (127.0.0.1) Host is up (0.000046s latency). Not shown: 990 closed ports PORT STATE SERVICE21/tcp open ftp135/tcp open msrpc443/tcp open https445/tcp open microsoft-ds902/tcp open iss-realsecure912/tcp open apex-mesh5357/tcp open wsdapi5678/tcp open rrac10000/tcp open snet-sensor-mgmt65000/tcp open unknown Device type: general purpose Running: Microsoft Windows 10OS CPE: cpe:/o:microsoft:windows_10 OS details: Microsoft Windows 10 1511Network Distance: 0 hops OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 2.33 seconds
要快速扫描存活的主机,需要使用的几个重要选项是:
-n:永远不要DNS解析。这个不管是给定地址扫描还是给定网址扫描,加上它速度都会极速提升
-sn:禁止端口扫描
-PE:只根据echo回显判断主机在线,这种类型的选项使用越多,速度越慢,如-PM -PP选项都是类似的,但他们速度要慢的多的多,PE有个缺点,不能穿透防火墙
--min-hostgroup N:当IP太多时,nmap需要分组,然后并扫描,使用该选项可以指定多少个IP一组
--min-parallelism N:这个参数非常关键,为了充分利用系统和网络资源,设置好合理的探针数。一般来说,设置的越大速度越快,且和min-hostgroup的值相等或大于它性能才会提升
示例一:扫描192.168.100.0/24网段存活的机器
[root@server2 ~]# nmap -sn -n -PE --min-hostgroup 1024 --min-parallelism 1024 192.168.100.1/24Warning: You specified a highly aggressive --min-hostgroup. Warning: Your --min-parallelism option is pretty high! This can hurt reliability. Starting Nmap 6.40 ( http://nmap.org ) at 2017-06-20 14:30 CSTNmap scan report for 192.168.100.1Host is up (0.00036s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nmap scan report for 192.168.100.2Host is up (0.000051s latency). MAC Address: 00:50:56:E2:16:04 (VMware) Nmap scan report for 192.168.100.70Host is up (0.000060s latency). MAC Address: 00:0C:29:71:81:64 (VMware) Nmap scan report for 192.168.100.254Host is up (0.000069s latency). MAC Address: 00:50:56:ED:A1:04 (VMware) Nmap scan report for 192.168.100.62Host is up. Nmap done: 256 IP addresses (5 hosts up) scanned in 0.26 seconds
255个局域网地址只用了半秒钟。可谓是极速。
再测试扫描下以www.baidu.com作为参考地址的地址空间。
[root@server2 ~]# nmap -sn -PE -n --min-hostgroup 1024 --min-parallelism 1024 -oX nmap_output.xml www.baidu.com/16…….省略部分结果 Nmap scan report for 163.177.81.145Host is up (0.072s latency). Nmap done: 65536 IP addresses (144 hosts up) scanned in 19.15 seconds
可以看到,65535个地址只需19秒就扫描完成了。速度是相当的快。
既然是扫描端口,就不能使用-sn选项,也不能使用-PE,否则不会返回端口状态,只会返回哪些主机。
[root@server2 ~]# nmap -n -p 20-2000 --min-hostgroup 1024 --min-parallelism 1024 192.168.100.70/24Warning: You specified a highly aggressive --min-hostgroup. Warning: Your --min-parallelism option is pretty high! This can hurt reliability. Starting Nmap 6.40 ( http://nmap.org ) at 2017-06-20 14:52 CSTNmap scan report for 192.168.100.1Host is up (0.00084s latency). Not shown: 1980 filtered ports PORT STATE SERVICE21/tcp open ftpMAC Address: 00:50:56:C0:00:08 (VMware) Nmap scan report for 192.168.100.2Host is up (0.000018s latency). Not shown: 1980 closed ports PORT STATE SERVICE53/tcp open domain MAC Address: 00:50:56:E2:16:04 (VMware) Nmap scan report for 192.168.100.70Host is up (0.000041s latency). Not shown: 1980 closed ports PORT STATE SERVICE22/tcp open sshMAC Address: 00:0C:29:71:81:64 (VMware) Nmap scan report for 192.168.100.254Host is up (0.000035s latency). All 1981 scanned ports on 192.168.100.254 are filtered MAC Address: 00:50:56:ED:A1:04 (VMware) Nmap scan report for 192.168.100.62Host is up (0.0000020s latency). Not shown: 1980 closed ports PORT STATE SERVICE22/tcp open sshNmap done: 256 IP addresses (5 hosts up) scanned in 2.38 seconds
以上がネットワーク スキャン ツール nmap の使用手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。