これをローカルループバック接続について検討します。-
これは完全にオペレーティングシステムのネットワーキングソフトウェア内に実装されており、ネットワークインターフェイスコントローラーにパケットを渡しません。
同じマシン上の2つのアプリケーションがループバックアドレス127.0.0.1を使用してTCP/IPと通信する場合、Wiresharkなどのそのマシン上の他のアプリケーションはパケットを傍受して、アプリケーション間で送信されるデータを表示できますか?
あなたが言うように、通信がlocalhost
で行われる場合、パケットはまったく外部ネットワークに送信されないため、キャプチャが発生した場合、それはマシン自体で発生する必要があります。
その点で注目すべき点が2つあります。
localhost
でのキャプチャは、すべてのOSでは機能しません。特に、Linuxでは機能しますが、Windowsではうまく機能しません( 部分的なソリューション があります)。
キャプチャには、いくつかの広範なアクセス権が必要です。 localhost
トラフィックをキャプチャできるユーザーは、マシンでroot
またはAdministrator
アクセス権をすでに持っているため、RAMプロセスに関与し、一般的に彼らがマシンでしたいことを行います。
したがって、localhost
接続に関連するセキュリティの問題は、トラフィックキャプチャに起因するものではありません。より一般的には、問題は、サーバーに接続する(別のローカルユーザーとして実行されている)同じマシン上の非特権アプリケーションから発生します。セキュリティ対応のローカルサーバーは、通常 getpeereid()
(Unixのようなシステム)を使用して、誰が接続しているかを認識します。