ネットワーク内に不正なDHCPサーバーがあるかどうかを判断するための最善の方法は何ですか?
私は、ほとんどの管理者がこの種の問題にどのように取り組んでいるか疑問に思っています。検索でDHCPプローブを見つけたので、試してみようと考えました。誰もがそれを経験したことがありますか?(コンパイルしてインストールするのに時間をかける前に知りたいです)。
不正なDHCPサーバーを見つけるための便利なツールやベストプラクティスを知っていますか?
ネットワーク内に不正なDHCPサーバーがあるかどうかを判断するための最善の方法は何ですか?
私は、ほとんどの管理者がこの種の問題にどのように取り組んでいるか疑問に思っています。検索でDHCPプローブを見つけたので、試してみようと考えました。誰もがそれを経験したことがありますか?(コンパイルしてインストールするのに時間をかける前に知りたいです)。
不正なDHCPサーバーを見つけるための便利なツールやベストプラクティスを知っていますか?
回答:
1つの簡単な方法は、コンピューター上でtcpdump / wiresharkのようなスニファーを実行し、DHCP要求を送信することです。実際のDHCPサーバー以外のオファーが表示された場合は、問題があることがわかります。
tcpdump
、arp
明示的なパラメータおよびそれらのパラメータの説明と、など。
要約して他の回答の一部に追加するには:
本番DHCPサーバーを一時的に無効にし、他のサーバーが応答するかどうかを確認します。
ipconfig /all
Windowsマシンで実行することでサーバーのIPアドレスを取得し、次にを使用してそのIPアドレスを検索することでMACアドレスを取得できますarp -a
。
Macでは、実行ipconfig getpacket en0
(またはen1)。http://www.macosxhints.com/article.php?story=20060124152826491を参照してください。
DHCPサーバー情報は通常、/ var / log / messagesにあります。 sudo grep -i dhcp /var/log/messages*
もちろん、実稼働DHCPサーバーを無効にすることは良い選択肢ではないかもしれません。
特に不正なDHCPサーバーを探すツールを使用する
ツールのリストについては、http://en.wikipedia.org/wiki/Rogue_DHCPを参照してください(その多くは他の回答に記載されています)。
DHCPオファーをブロックするようにスイッチを構成する
ほとんどの管理対象スイッチは、不正なDHCPサーバーを防ぐように構成できます。
Wireshark / DHCPエクスプローラー/ DHCPプローブアプローチは、1回または定期的なチェックに適しています。ただし、ネットワークでのDHCPスヌーピングのサポートを検討することをお勧めします。この機能は、ネットワーク上の不正なDHCPサーバーから常に保護され、多くの異なるハードウェアベンダーによってサポートされています。
Cisco docsに示されている機能セットを次に示します。
•信頼できないソースから受信したDHCPメッセージを検証し、無効なメッセージを除外します。
•信頼できるソースと信頼できないソースからのDHCPトラフィックをレート制限します。
•DHCPスヌーピングバインディングデータベースを構築および維持します。これには、リースされたIPアドレスを持つ信頼できないホストに関する情報が含まれます。
•DHCPスヌーピングバインディングデータベースを使用して、信頼できないホストからの後続の要求を検証します。
dhcploc.exeは、Windowsシステムで最も高速で便利な方法です。XPサポートツールで利用できます。サポートツールはすべてのOEM /小売XPディスクにありますが、一部のOEMが提供する「リカバリディスク」にある場合とない場合があります。MSからダウンロードすることもできます。
シンプルなコマンドラインツールです。dhcploc {yourIPaddress}を実行し、「d」キーを押して偽の発見を行います。キーを押さずに実行したままにすると、すべてのDHCP要求が表示され、応答が聞かれます。「q」を押して終了します。
フィルターとしての使用に関するl0c0b0xのコメントを展開しbootp.type == 2
ます。bootp.typeフィルターは、Wireshark / tsharkでのみ使用可能です。彼のコメントの文脈上の位置が私を信じさせようとしたtcpdumpでは利用できません。
Tsharkはこれに最適です。
ネットワークを多数のブロードキャストドメインに分割し、それぞれが「ローカル」ブロードキャストドメインおよび管理サブネット上に存在する独自のLinuxベースのプローブを何らかの形で持っています。TsharkとClusterSSHを組み合わせることで、ネットワークのさらに隅にあるDHCPトラフィックまたは(それ以外のもの)を簡単に探すことができます。
これにより、Linuxを使用したDHCP応答が見つかります。
# ifconfig ethX promisc
# tshark -i ethX -n port 68 -R 'bootp.type == 2'
tcpdump: syntax error
。質問を投稿しても、あなたの答えは私をブロックしませんでした、ありがとう!networkengineering.stackexchange.com/questions/39534/...
-R <Read filter>
。私は得るtshark: -R without -2 is deprecated. For single-pass filtering use -Y.
。-Y
うまく動作します。
メインDHCPサーバーを無効にし、接続を(再)構成します。
IPアドレスを取得した場合、不正が発生しています。
便利なLinuxがある場合、標準のdhcpclientはDHCPサーバーのIPアドレスを通知します(そうでない場合は、DHCP応答の送信元を確認するためにトラフィックをスニッフィングできます)。
MicrosoftのRogueCheckerを使用できます。
元のリンク:http : //blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
ダウンロードのリンク:https : //web.archive.org/web/20141022013752/http : //blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
次の情報もお読みください。
debian / ubuntuには、使用するオプションdhcpdump
やtcpdump
、たとえば、dhclient
dhcpdumpを使用します。
dhcpdump -i eth0
1つのシェル/シェル(eth0またはインターフェイスの名前)で実行しますdhclient
別のシェルで起動します(正常に実行する必要はありません)dhcpdump
情報の出力を確認します(最も詳細な、書式が整った有益なリストである必要があります)dhcpdumpを使用したくない場合のオプション2:
tcpdump -i eth0 -t -n > /tmp/my_file.txt
1つのシェル/ウィンドウで実行-t
=タイムスタンプを無効にする// -n
=名前解決を無効にし、IPアドレスのみ、サーバー名なし(RHEL / centosでは-nnを使用))dhclient
別のシェルで起動します(正常に実行する必要はありません)*補足:tcpdumpおよびdhcpdumpはおそらくインストールする必要があります(例:)sudo apt get install tcpdump dhcpdump
。dhcpdumpはtcpdumpに依存しています
監視用とリクエスト送信用の2つの端末を起動することをお勧めします。Terminal1は、MACアドレスを含む既存のすべてのDHCPサーバーからの応答を表示します。この例はUbuntuで実行されました。
ターミナル1(監視用):
sudo tcpdump -nelt udp port 68 | grep -i "boot。* reply"
tcpdump:詳細な出力を抑制し、enp2s0、リンクタイプEN10MB(イーサネット)でリッスンする完全なプロトコルデコードに-vまたは-vvを使用し、キャプチャサイズ262144バイト20:a6:80:f9:12:2f> ff:ff:ff: ff:ff:ff、ethertype IPv4(0x0800)、長さ332:192.168.1.1.67> 255.255.255.255.68:BOOTP / DHCP、返信、長さ290 00:23:cd:c3:83:8a> ff:ff :ff:ff:ff:ff、ethertype IPv4(0x0800)、長さ590:192.168.1.253.67> 255.255.255.255.68:BOOTP / DHCP、応答、長さ548
ターミナル2(リクエスト送信用):
sudo nmap --script broadcast-dhcp-discover -e eth0
NEST 7.01(https://nmap.org)を2019-10-13 21:21 EESTプレスキャンスクリプト結果で開始:| broadcast-dhcp-discover:| 応答1の1:| 提供されるIP:192.168.1.228 | DHCPメッセージタイプ:DHCPOFFER | IPアドレスのリース時間:2h00m00s | サーバー識別子:192.168.1.1 | サブネットマスク:255.255.255.0 | ルーター:192.168.1.1 | _ドメインネームサーバー:8.8.8.8、8.8.4.4警告:ターゲットが指定されていないため、0個のホストがスキャンされました。Nmap完了:0.94秒でスキャンされた0個のIPアドレス(0個のホスト)
その監視端末は、すべての応答を確認するためにのみ必要です(nmapは最初の応答のみを表示できます)。