web-dev-qa-db-ja.com

ローカルサブネット上のIPアドレスのリストを取得し、どのスイッチがあるか

どのIPアドレスが自分のローカルサブネット上にあるテキストファイルを取得し、どのイーサネットスイッチを接続しています。理想的にはマシンの名前はいいでしょうが、私は手動でそれを働かせることができます。

誰かがNMAPを提案しました。私はそれを試してみました、そしてオプションの数によって圧倒されています。このような情報を教えてくれるオプションはありますか。

私の腸の感覚は、SwithcesがIPに透過的であるため、切り替え情報を見つけるのが難しいということです。誰かが方法を示唆することができます。

1
justintime

例えば使用

nmap -sP -PR 192.168.1.0/24

(適切なネットワークアドレスとマスクを使用)

ホストをマッピングするには。 -sPポートスカンをスキップしますが、-PRはARPスキャンを要求します。これはローカルネットワークでのみ機能しますが、ファイアウォールでブロックすることはできません(実際にはできますが、めちゃくちゃ非実用的です)。

Scriptingを使用して、サンプルリストに絞り込むことができます。

nmap -sP -PR 192.168.1.0/24 2>/dev/null |grep "appears to be up" |awk '{print $2}'

物理的な場所を取得するには、管理可能なスイッチが必要です。管理可能なスイッチがSNMPに回答し、特定のMACアドレスの場所を照会します。

最初にIPをMACアドレスにマッピングする必要があります.NMAPの出力を処理することはできますが、システムARPテーブル(/proc/arpを読み取るか、arpコマンドを試してみてください)を調べることが簡単です。

MACアドレスがあると、スイッチがVLANを処理する場合は、Q-Bride-MIB、または(IIR)P-Bridge-MIBを使用すると、標準的な方法がQ-Bridge-MIBに移動します。たとえば、Net-SNMPツールを使用して照会できます。

snmpget -v2c -c public 192.168.1.1 Q-BRIDGE-MIB::dot1qTpFdbPort.y.x.x.x.x.x.x

ここで、publicはSNMPコミュニティの名前です。192.168.1.1switchyはVLAN id、xはMACアドレスの10進符号化バイト数です。スイッチでSNMPを有効にする必要があります。あなたのステーションからのアクセスを許可し、異なるコミュニティ名やプロトコルバージョンを使用します。

VLANを処理しないスイッチの場合、P-Bridge-MIB IIRCには同等のエントリがあります。

アドレスのコーディングがどのように機能するかを確認するには、snmpwalkを使用してスイッチの完全な転送テーブルを再現できます。

smpwalk -v2c -c public 192.168.1.1 Q-BRIDGE-MIB::dot1qTpFdbPort

複数のスイッチがある場合、各Macは正しいスイッチの正しいポートに表示されますが、他のスイッチの関連トランクポートでも、トランクポートを除外する方法が必要になります。

3
b0fh

ゲートウェイを使用してすべてのホストをリストします(おそらくスイッチ(またはルーター)


arp-scan -I eth0 -l
_

1
aric

どのOSを使用しているのかわからないが、ある程度あなたはあなたのマシンからの情報を見つけることができます。 WireShark(Ethereal)ツールを実行する必要があります。これは、ネットワーク間で移動するすべてのパケットを介してあなたが必要です。あなたはすべてのマシンのリストを取得しませんが、多くのネットワークやマシンを見ることができます。この後、ARPテーブルを確認して、マシンIP、MACアドレスも見つけることができます。サブネットマスクは、現在のネットワークで許可されているマシン数を指示する必要があります。

0
TusharG