ホームページ  >  記事  >  運用・保守  >  ネットワーク スキャン ツール nmap の使用手順

ネットワーク スキャン ツール nmap の使用手順

零下一度
零下一度オリジナル
2017-06-23 11:15:463185ブラウズ

この記事のディレクトリ:

1.1 オプションの説明

1.2 スキャンを試す

1.3 スキャン対象の説明

1.4 ポートステータスの説明

1.5 時間パラメータの最適化

1.6 オペレーティングシステムの種類をスキャン

1.7 生存しているホストを迅速にスキャン

1.8 ポートを素早くスキャン


nmap は通常ホストがオンラインかどうか (特に LAN 内に残っているマシンをスキャン)、およびどのポートが開いているかをスキャンするために使用されます。他の機能はほとんど使用されないため、ペネトレーションを行う人はそれらについて詳しく知る必要があるかもしれません。


1.1 オプションの説明

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 : カスタム DNS サーバーを指定します

--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 : TCP スキャン フラグをカスタマイズします

-sI : アイドル スキャン

-sY/sZ: SCTP INIT/COOKIE-ECHO スキャン

-sO: IP プロトコル スキャン

-b : FTP バウンス スキャン

ポートの指定とスキャン順序:

-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 : 設定0 (明るい) から 9 (すべてのプローブを試す)

--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

--min-rate : より遅くならないようにパケットを送信します。 1 秒あたり

--max-rate : を超えない速度でパケットを送信します。毎秒

ファイアウォール/IDS 回避とスプーフィング:

-f; --mtu : フラグメントパケット (オプションで指定された MTU を使用)

-D : おとりでスキャンをクロークします

-S -e : 指定されたインターフェイスを使用します

-g/--source-port : 指定されたポート番号を使用します

--data-length : 送信パケットにランダム データを追加します

--ip-options : 指定された IP オプションでパケットを送信します

--ttl : IP 生存時間フィールドを設定します

--spoof-mac : MAC アドレスを偽装します

--badsum: 偽の TCP/UDP/SCTP チェックサムを含むパケットを送信します

OUTPUT:

-oN/-oX/-oS/- oG : スキャンを通常、XML、s|

および Grepable 形式で、それぞれ指定されたファイル名に出力します。 -oA : 出力形式3 つの主要な形式を一度に

-v: 冗長レベルを上げます (効果を高めるには -vv 以上を使用します) -d: デバッグ レベルを上げます (効果を高めるには -dd 以上を使用します)

--reason: ポートが特定の状態にある理由を表示します

--open: 開いている(または開いている可能性がある)ポートのみを表示します

--packet-trace: 送受信されたすべてのパケットを表示します

--iflist:ホストインターフェイスとルートを出力します(デバッグ用)

--log-errors: 通常形式の出力ファイルにエラー/警告を記録します

--append-output: 指定された出力ファイルを破壊するのではなく追加します

--resume < ;filename>: 中止されたスキャンを再開します

--stylesheet : XML 出力を HTML に変換する XSL スタイルシート

--webxml: より移植性の高い XML のために Nmap.Org からのスタイルシートを参照します

--no-スタイルシート: XSL スタイルシートと XML 出力の関連付けを防止します

MISC:

-6: IPv6 スキャンを有効にする

-A: OS 検出、バージョン検出、スクリプト スキャン、traceroute を有効にする

--datadir :カスタム Nmap データ ファイルの場所を指定します

--send-eth/--send-ip: 生のイーサネット フレームまたは IP パケットを使用して送信します

--privileged: ユーザーが完全な特権を持っていることを想定します

--unprivileged: ユーザーが生のソケット権限がありません

-V: バージョン番号を印刷します

-h: このヘルプ概要ページを印刷します。

例:

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

常用的上面标纪。下は解释:

-iL <inputfilename>:从输入文件中读取主机或者IP列表作为探测目标-sn: PING扫描,但是禁止端口扫描。默认总是会扫描端口。禁用端口扫描可以加速扫描主机-n/-R: 永远不要/总是进行DNS解析,默认情况下有时会解析-PE/PP/PM:分别是基于echo/timestamp/netmask的ICMP探测报文方式。使用echo最快-sS/sT/sA/sW:TCP SYN/Connect()/ACK/Window,其中sT扫描表示TCP扫描-sU:UDP扫描-sO:IP扫描-p <port ranges>: 指定扫描端口--min-hostgroup/max-hostgroup <size>: 对目标主机进行分组然后组之间并行扫描--min-parallelism/max-parallelism <numprobes>: 设置并行扫描的探针数量-oN/-oX/ <file>: 输出扫描结果到普通文件或XML文件中。输入到XML文件中的结果是格式化的结果-v:显示详细信息,使用-vv或者更多的v显示更详细的信息</p>
<p class="04"><br></p>1.2扫描<h1></h1>nmap一般に、特に本機以外をスキャンする場合は、より遅くなることがあります。結果から、1000 個の高リスク ポートがマップによって決定されていることがわかります。「表示されていない: 998 の閉じたポート」は、998 個の閉じたポートが表示されておらず、その後 2 つの開いたポートが表示されていることを示しています。ポート、正に 1000 です。通常は 1000 個しか描画できませんが、通常のポートはすべて描画可能です。 <p class="01"></p> 「-p [1-65535]」を指定してすべてのポートを検査するか、「-p-」オプションを使用して完全に検査することもできます。ポート、ホストが生存しているかどうかを高速にスキャンします。たとえば、192.168.10.0/24 は 192.168.10.0 と 192.168.10.255 の間の 256 台のホストをスキャンし、192.168.10.40/24 は同様のことを行います。ホストマシンの IP アドレスは 205 です。 .217.153.62 、scanme.nmap.org/16 は、205.217.0.0 と 205.217.255.255 の間の 65536 個の IP アドレスをスキャンします。これは、半分の相互ネットワークをスキャンします。最大値は /32 です。たとえば、192.168.0.0/16 はすべて固定されているため、ホストまたは IP アドレスをスキャンすることになります。 0" または ".255" で終わる IP アドレスは、通常、ネットワーク アドレスまたはブロードキャスト アドレスで指定されるため、IP アドレスは、番号で区切られた数字または範囲で表されます。この範囲は、最後の 8 ビットに限定されません。「0-255.0-255.13.37」は、すべてのインターネット範囲内で「13.37」で終了します。 <div><div class="cnblogs_code">Nmap コマンドは複数のホストマシンの指示を受けますが、それらは同じタイプである必要はありません。<p class="01">虽然目标通常在命令行指定,下列选项也可用来控制目标的选择:</p>
<ul class=" list-paddingleft-2"><li><p>-iL <inputfilename> (从列表中输入)</p></li></ul>
<p class="03">从<inputfilename>中读取目标说明。在命令行输入一堆主机名显得很笨拙,然而经常需要这样。例如DHCP服务器可能导出10000个当前租约列表。列表中的项可以是Nmap在命令行上接受的任何格式(IP地址,主机名,CIDR,IPv6,或者八位字节范围)。每一项必须以一个或多个空格、制表符或换行符分开。如果希望Nmap从标准输入读取列表,则使用"-"作为表示/dev/stdin。</p>
<ul class=" list-paddingleft-2">
<li><p>--exclude <host1[,host2][,host3],...> (排除主机/网络)</p></li>
<li><p>--excludefile <excludefile> (排除文件中的列表),这和--exclude的功能一样,只是所排除的目标是用<excludefile>提供的。</p></li>
</ul>
<h2>1.3.1 范围扫描示例</h2>
<p class="01">指定一个IP地址然后加一个CIDR的掩码位,如192.168.100.22/24,当然写成192.168.100.0/24也是一样的,因为<strong>nmap需要的是参考IP</strong>。如果扫描的是范围地址,可以192.168.100.1-254这样的书写方式。</p>
<div><div class="cnblogs_code"><pre class="brush:php;toolbar:false">[root@xuexi ~]# nmap 192.168.100.1/24
 Starting Nmap 6.40 ( http://nmap.org ) at 2017-06-20 13:22 CSTNmap scan report for 192.168.100.1Host is up (0.00053s latency).
Not shown: 992 filtered ports
PORT     STATE SERVICE21/tcp   open  ftp135/tcp  open  msrpc139/tcp  open  netbios-ssn443/tcp  open  https445/tcp  open  microsoft-ds902/tcp  open  iss-realsecure912/tcp  open  apex-mesh5357/tcp open  wsdapi
MAC Address: 00:50:56:C0:00:08 (VMware)
 
Nmap scan report for 192.168.100.2Host is up (0.000018s latency).
Not shown: 999 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.00014s latency).
Not shown: 999 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.000095s latency).
All 1000 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.0000030s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE22/tcp open  sshNmap done: 256 IP addresses (5 hosts up) scanned in 7.96 seconds

一般的に言えば、すべてのポートが閉じられているのはコンピューターではなく、ルーター、仮想ネットワーク カード、その他のデバイスである可能性があります。


1.4 ポートステータスの説明

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 アイドル スキャンでのみ表示される場合があります。


1.5 時間パラメータの最適化

スキャン時間を改善するためのテクニックには、重要でない検出を無視する、最新バージョンの 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 : 1 秒あたり より遅くパケットを送信します

--max-rate : 1 秒あたり より速くパケットを送信します

その中で最も重要なのは最初の 3 つです:

1 -T<0-5>: namp が提供するスキャン テンプレートを直接使用することを意味します。デフォルトのテンプレートは「-T 3」です。詳細についてはマニュアルを参照してください。実用的。

2.--min-hostgroup --max-hostgroup (並列スキャングループのサイズを調整します)

Nmap には複数のホストポートを並列スキャンする機能があります。実装方法は、指定されたすべてのターゲット IP が空間的にグループ化され、一度に 1 グループずつスキャンされます。一般に、コンポーネントが大きいほど効率は高くなりますが、グループ化の欠点は、グループ内のホストのスキャン結果がグループ全体のスキャンが完了した後でのみ返されることです。たとえば、グループ サイズが 50 と定義されている場合、これら 50 個の IP 内の結果は、最初の 50 個のホスト スキャンが完了した後でのみ取得できます。

默认方式下,Nmap采取折衷的方法。开始扫描时的组较小,默认值为5,这样便于尽快产生结果,随后增长组的大小,默认最大为1024。但最小和最大确切的值则依赖于所给定的选项。

--max-hostgroup选项用于说明使用最大的组,Nmap不会超出这个大小。--min-hostgroup选项说明最小的组,Nmap会保持组大于这个值。如果在指定的接口上没有足够的目标主机来满足所指定的最小值,Nmap可能会采用比所指定的值小的组。

这些选项的主要用途是说明一个最小组的大小,使得整个扫描更加快速。通常选择256来扫描C类网段,对于端口数较多的扫描,超出该值没有意义,因为它只是分组了,但是cpu资源是有限的。对于端口数较少的扫描,2048或更大的组大小是有帮助的。

3.--min-parallelism ; --max-parallelism (调整探测报文的并行度,即探针数)

这些选项用于控制主机组的探测报文数量,可用于端口扫描和主机发现。默认状态下,Nmap基于网络性能计算一个理想的并行度,这个值经常改变。如果报文被丢弃,Nmap降低速度,探测报文数量减少。随着网络性能的改善,理想的探测报文数量会缓慢增加。默认状态下,当网络不可靠时,理想的并行度值可能为1,在好的条件下,可能会增长至几百。

最常见的应用是--min-parallelism值大于1,以加快性能不佳的主机或网络的扫描。这个选项具有风险,如果过高则影响准确度,同时也会降低Nmap基于网络条件动态控制并行度的能力。

一般说来,这个值要设置的和--min-hostgroup的值相等或大于它性能才会提升


1.6 扫描操作系统类型

扫描操作系统。操作系统的扫描有可能会出现误报。

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


1.7 快速扫描存活的主机

要快速扫描存活的主机,需要使用的几个重要选项是:

-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秒就扫描完成了。速度是相当的快。


1.8 快速扫描端口

既然是扫描端口,就不能使用-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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Linuxでログを表示するにはどのようなコマンドを使用するかを詳しく説明します。次の記事:Linuxでログを表示するにはどのようなコマンドを使用するかを詳しく説明します。

関連記事

続きを見る