ローカルネットワークのスキャン方法


  1. Nmapを使用したスキャン: Nmapは、ネットワークスキャンに広く使われるツールです。以下は、Nmapを使用してローカルネットワークをスキャンするコード例です。
nmap -sn 192.168.1.0/24

このコマンドは、192.168.1.0から192.168.1.255までのIPアドレス範囲をスキャンします。

  1. PythonのScapyライブラリを使用したスキャン: Scapyは、Pythonでネットワークパケットを操作するための強力なライブラリです。以下は、Scapyを使用してローカルネットワークをスキャンするコード例です。
from scapy.all import ARP, Ether, srp
target_ip = "192.168.1.0/24"
arp = ARP(pdst=target_ip)
ether = Ether(dst="ff:ff:ff:ff:ff:ff")
packet = ether/arp
result = srp(packet, timeout=3, verbose=0)[0]
clients = []
for sent, received in result:
    clients.append({'ip': received.psrc, 'mac': received.hwsrc})
for client in clients:
    print("IP: " + client['ip'] + "\t MAC: " + client['mac'])

このコードは、指定したIPアドレス範囲内のデバイスのIPアドレスとMACアドレスを表示します。

  1. PowerShellを使用したスキャン: Windows環境では、PowerShellを使用してローカルネットワークをスキャンすることもできます。以下は、PowerShellを使用したスキャンのコード例です。
$ip = "192.168.1.0/24"
Test-Connection -ComputerName $ip

このコマンドは、指定したIPアドレス範囲内のデバイスへのPing応答をテストします。

これらは一部のスキャン方法とコード例です。他にもさまざまなツールやライブラリが存在しますが、セキュリティ上の理由から、ローカルネットワークのスキャンは合法的な目的で行う必要があります。