ELECOM EHB-SQ2A08スイッチングハブから情報を取得するPythonスクリプト集です。ポート状態、VLAN、MACテーブル、トラフィック統計を取得でき、自動セッション管理とリトライ機能を備えています。
スイッチから直接データを取得するスクリプト
# スイッチごとの.envファイルを指定して実行(推奨)
python3 get_elecom_swhub_info.py --env-file .env.office-floor1 --mac --pretty
python3 get_elecom_swhub_info.py --env-file .env.datacenter-rack1 --vlan --pretty
# スイッチ情報の概要を表示(推奨)
python3 get_elecom_swhub_info.py --env-file .env.office-floor1 --summary
# 全ポート統計取得(GE1-GE8 + LAG1-LAG4)
python3 get_elecom_swhub_info.py --env-file .env.office-floor1 --traffic --pretty
# 全情報取得
python3 get_elecom_swhub_info.py --env-file .env.office-floor1 --all --pretty
# コマンドライン引数で直接指定(非推奨:履歴に残る)
python3 get_elecom_swhub_info.py --ip 192.168.1.1 --user username --password pass --mac --pretty
スイッチの全セッションを切断するスクリプト
# スイッチごとの.envファイルを指定して実行(推奨)
python3 disconnect_all_sessions.py --env-file .env.office-floor1
python3 disconnect_all_sessions.py --env-file .env.datacenter-rack1
# コマンドライン引数で直接指定(非推奨:履歴に残る)
python3 disconnect_all_sessions.py --ip 192.168.1.1 --user username --password pass
--env-file: .envファイルのパス(推奨、デフォルト: .env)--ip: スイッチのIPアドレス(直接指定、非推奨)--user: ユーザー名(直接指定、非推奨)--password: パスワード(直接指定、非推奨)--summary: スイッチ情報の概要を表示(推奨)--status: ポートステータス--port: ポート設定情報--vlan: VLAN情報--mac: MACアドレステーブル--traffic: トラフィック統計(全ポート)--main: スイッチ基本情報--all: すべての情報--pretty: 整形されたJSON出力--env-file: .envファイルのパス(推奨、デフォルト: .env)--ip: スイッチのIPアドレス(直接指定、非推奨)--user: ユーザー名(直接指定、非推奨)--password: パスワード(直接指定、非推奨)# .env.exampleをコピーして各スイッチ用の.envファイルを作成
cp .env.example .env.switch1
cp .env.example .env.switch2
# 各.envファイルを編集して実際の認証情報を設定
nano .env.switch1
nano .env.switch2
# パーミッションを600に設定(所有者のみ読み書き可能)
chmod 600 .env.switch*
SWITCH_IP=192.168.1.1
SWITCH_USER=your_username
SWITCH_PASSWORD=your_password
# スイッチごとに.envファイルを作成
.env.office-floor1 # オフィス1階のスイッチ
.env.office-floor2 # オフィス2階のスイッチ
.env.datacenter-rack1 # データセンターラック1のスイッチ
.env.home-main # 自宅メインスイッチ
# 使用時に--env-fileで対象スイッチを指定
python3 get_elecom_swhub_info.py --env-file .env.office-floor1 --mac --pretty
python3 get_elecom_swhub_info.py --env-file .env.datacenter-rack1 --all --pretty
--env-fileオプションで.envファイルを明示的に指定してください--summaryオプションで、スイッチの状態を素早く確認できますdisconnect_all_sessions.pyを手動で実行する必要はありません(自動管理されます)