ネットワークディスカバリー |トレースルート | TCPおよびUDPポートスキャナ
このプログラムは、ローカル マシンに存在する使用可能なすべてのインターフェイスを一覧表示し、Scapy を使用して、ローカル マシンの各非仮想インターフェイスを介してアクセスできる、ローカル マシンの LAN 内のすべてのオンライン マシンを識別します。これを実現するために、このプログラムは ARP パケットをカプセル化するイーサネット フレームを作成します。イーサネット フレームの宛先アドレスはブロードキャスト アドレスに設定されていますが、ARP パケットにはローカルホストのサブネット アドレスと CIDR 表記が含まれています。最後に、Scapy は、サブネット内のすべての IP アドレスにブロードキャストされる ARP パケットのリストを作成し、ローカルホストに応答を返すオンライン マシンの MAC アドレスと IP アドレスを出力します。
このトレースルート プログラムは、ユーザーから宛先 IP アドレスまたはホスト名のいずれかを受け入れ、送信元と宛先の間にあるすべての中間マシンの IP アドレスまたは考えられるホスト名を識別します。まず、このツールはユーザーが IP アドレスまたはホスト名を入力したかどうかを識別し、それに応じてそれぞれのホスト名または IP アドレスを検索します。次に、33434 ~ 33464 の範囲のランダムな宛先ポートとランダムな大きい数の送信元ポートを使用して UDP パケットをカプセル化する IP データグラムを作成します。 IP 宛先アドレスは、ユーザーが直接指定するか、ユーザーが Scapy 経由で指定するホスト名を使用して取得します。最大ホップは 20 に設定され、TTL は現在のホップ数に応じて増加するため、20 ホップ以下の距離にあるパス内のすべての中間マシンを検出できます。最後に、あるホップから次のホップへパケットを送受信し、応答パケットに含まれるホスト名と IP アドレスを報告します。パケットが予想される 3 秒のタイムアウト内に確認応答されない場合、パケットはもう一度送信されます。それ以外の場合は、「*」が出力されます。プログラムは、パケットが宛先に到着し、宛先ポートが開いていないことを示す ICMP ポート到達不能メッセージ (タイプ 3) をターゲットから受信するとすぐに停止します。
usage: ./networkdiscovery.py [-h] [--version]
Network Discovery
optional arguments:
-h, --help show this help message and exit
--version Show Program's Version Number and Exit
usage: ./traceroute.py [-h] [--version] [--target TARGET]
Traceroute
optional arguments:
-h, --help show this help message and exit
--version Show Program's Version Number and Exit
--target TARGET Hostname or IP
usage: ./portscanner.py [-h] [--version] [--target TARGET] [--port PORT] [--tcp | --udp] [--verbose]
Port Scanner
optional arguments:
-h, --help show this help message and exit
--version Show Program's Version Number and Exit
--target TARGET Hostname or IP to scan
--port PORT Port [X] or Port Range [X-Y] to scan
--tcp TCP port scan (mutually exclusive with --udp)
--udp UDP port scan (mutually exclusive with --tcp)
--verbose Verbose output (Print all ports, not just open ports)
MIT ライセンスに基づいて配布されます。