sshの様な暗号化されたプロトコルを用いて通信した場合、通信に用いるポート番号(sshであれば22番でしょうか)をデフォルトから変更した場合でも、第三者がそのパケットだけを見て、プロトコルを判断する事は可能でしょうか。
可能である場合、どの部分を見て判断するのでしょうか。
可能です。通信開始時の、暗号化が可能になるまでの、例えばクライアント側からの公開鍵の送信などの、一連の手順は、平文であり、プロトコルの特徴から判別できます。
ご質問で想定されているのがsshなどそのものではなく、既に確立済のsshなどの暗号化通信路をトンネリングする別の通信プロトコルなのであれば、初めから暗号化されていますから判別はできません。
回答ありがとうございます。
やはり、通信開始時でないと判断できないようですね。
接続完了後でも、TCPヘッダ等は暗号化されていないと思うので、そこを見て判断できないんでしょうか。
http://www.hieda.net/pcnwbt/tcpip/doc/VPN.htm
暗号化されていないヘッダ部などをみて判断
ポートは実質関係ないです。
(フィルタしてキャプチャしたデータを見るときに便利になりますが)
回答ありがとうございます。
ヘッダのどの部分かも教えていただけると助かりますm(_ _)m
通信開始時の分は他の方もご指摘されていますが、実際に ssh 通信が始まってからの部分でも、ある程度の推測は可能かと思います。特徴を一言で書くと、
・人間の打鍵程度の速度で比較的小さなパケットが多数飛んでいて、かつパケットダンプしても telnet ではない
・・・という感じですね。
通信路でパケットの優先順位をコントロールする際に使うアプローチ(小さなパケットは遅延に敏感な対話的処理であることが多い = 優先順位を上げる / 大きなパケットが飛ぶようなフローはファイル転送系と思われるため多少の遅延は大丈夫 = 優先順位を下げる)、の応用ですね。
回答ありがとうございます。
推測レベルでしか無理ですか。
高度に暗号化されたものは、通信経路上の暗号化
されたデータからは通信内容からは判断が出来
ません。
たとえば通信のネゴテーション段階から暗号通信、
全てのデータは暗号化され送受信、パケットの長さも動的変更
暗号方式も動的構成、接続も単独セッションとは限らず
複数の通信セッションに分散等の複数の方法を取り
通信内容からは容易に解析出来ないような方式
等があります。
プロトコルが判断出来なくても何をしているかは
判断する別の方法があります。
統計的手法による解析です。
回答ありがとうございます。
やはり、プロトコルは判断できませんか。
とりあえず、ここまででこの質問は終了させていただきます。
みなさん、回答ありがとうございました。
回答ありがとうございます。
一度接続が完了すると、判断できなくなるということですか。