
ネットワーク接続が安全かどうかをテストする方法を知りたいです。ssh を使用すると、安全であると表示されます。しかし、これを検証したいので、tcpdump を使用しようとしました。以下は、使用したコマンドです。
tcpdump port 22 -X
すると、解釈する知識がない生のパケットが取得されます。また、このアプローチが正しいかどうかもわかりません。
この問題の別の演習は、telnet を使用することです。安全ではないことはわかっています。しかし、次のコマンドを実行しようとすると:
telnet <IP address> 3306
tcpdump port 3306 -X
tcpdump の出力も私には不可解に見えます。
何かご提案やご意見はございますか?
答え1
まず、root として実行しないので、sudo を使用する必要があります。Mac ではこれを使用してパケットを表示できます。
sudo tcpdump -i en0 -X -s 0 src host <server>
サーバーに入力した内容が読み取れない場合は、暗号化されています。実際にデータを取得してキーで復号化することは、ここで見つけられる範囲を超えていると思います。
答え2
私が提案できる最良の方法は、使用するツールの出力の読み方を学ぶことです。真面目な話、tcpdump の解釈方法がわからないのなら、なぜそれを使うのでしょうか? これは複雑な問題ですが、データの読み方を教えてくれる本や記事はたくさんあります。
生活を楽にするために、次のようなGUIツールの使用を検討してください。ワイヤーシャークは、ほとんどの人が読みやすい形式で同じ情報を提示します。
答え3
SSH は暗号化されており安全です。何か問題がある (または変更された) と判断された場合、非常に明白な方法で警告を発します。暗号化暗号なしで SSH を実行するには、明示的なコマンド ライン スイッチが必要であり、その場合も警告を発します。
tcpdump だけでは接続が暗号化されているかどうかはわかりません。パケットを自分で分析する必要があります。パケットを直接理解できない場合は、Wireshark が役立ちます。
答え4
Wireshark は役に立つツールです。コンピュータにインストールして、数分間パケットをキャプチャします。パケットの内容が確認できれば、復号化されています。