はじめに
Chatgptやネットで調べた情報をもとに作成しました!!!
使用環境はVScodeです!!
実際のコード
import subprocess
import re
def check_connected_devices():
# LAN上のデバイスを取得するコマンド
cmd = "arp -a"
try:
# コマンドを実行して結果を取得
output = subprocess.check_output(cmd, shell=True)
# 出力をデコードして文字列に変換
output_str = output.decode('utf-8')
# 改行で分割してデバイス情報を取得
devices = output_str.split('\n')
# 最初と最後の行は不要なので除外
devices = devices[1:-1]
# 各デバイス情報を表示
for device in devices:
print(device)
# 脆弱性診断を実行
perform_vulnerability_scan(devices)
except subprocess.CalledProcessError as e:
print("Error executing command:", e)
def perform_vulnerability_scan(devices):
for device in devices:
# デバイスからIPアドレスを抽出
ip_address = re.findall(r'\d+\.\d+\.\d+\.\d+', device)
if ip_address:
# 各デバイスのIPアドレスに対して脆弱性スキャンを実行
scan_result = run_scan_tool(ip_address[0])
print("IP Address:", ip_address[0])
print("Scan Result:", scan_result)
print()
def run_scan_tool(ip_address):
# 実際の脆弱性スキャンツールのコマンドを実行する部分
# ここではダミーの結果を返す
return "Vulnerability scan result for " + ip_address
if __name__ == "__main__":
check_connected_devices()
このコードでは、perform_vulnerability_scan関数が追加されています。この関数は、LAN上のデバイスからIPアドレスを抽出し、それぞれに対して脆弱性スキャンを実行します。
run_scan_tool関数は、実際の脆弱性スキャンツールを実行する部分で、ここではダミーの結果を返すようにしています。
まとめ
まだまだ簡易的ではありますが、これからこのコードを元にいろんなカスタムをしていきたいですね!
見ずらい部分などあるかと思いますが、何卒ご容赦ください!