中堅プログラマーの備忘録

忘れっぽくなってきたので備忘録として・・・

パケットキャプチャしてFTPS通信が暗号化されているか調べる

1.概要

【HTTPS】や【FTPS】等、セキュアな通信といわれていますが
実際にどうなっているのか気になったので調べてみました。
パケットキャプチャのツールとして【Wireshark】を使ってみます。

2.【Wireshark】について

Wiresharkは、ネットワーク・アナライザ・ソフトウェアである。(Wiki)

下記URLよりダウンロードできます。
https://www.wireshark.org/download.html

3.使い方について

【Wireshark】を起動します。
起動したらキャプチャ対象のネットワークをクリックして選択し
画面左上の【青いサメの背びれ】をクリックしてパケットキャプチャを開始します。
f:id:tsu--kun:20190905171300p:plain


パケットキャプチャが開始するとずらずらと通信内容が表示されます。
このままでは非常に見にくいので
今回はIPアドレスでフィルタします。
IPアドレスでのフィルタの方法は

【ip.addr==192.168.0.129】

と入力すると、特定のIPアドレス部分の通信だけが表示されるようになります。
※今回はサーバーのIPアドレスが【192.168.0.129】なのでこれでフィルタします。


4.FTP通信の中身を見る

①クライアントからサーバーへ接続

user:testuser、pass:testuserで接続しています。
この状態のパケットを見てみます。

f:id:tsu--kun:20190905171357p:plain

接続しただけで結構な量の通信のやり取りが行われています。
この中にパスワードを送っている記述を発見しました。
クライアント:192.168.0.120:58433 から
サーバー  :192.168.0.129:61234 へ
パスワード【testuser】が送られていることが確認出来ました。

暗号化されていないので当然データの中身は普通に見れてしまいますが
これだけで非常に危険だということがわかります。

②データを転送する

this is a test.と記述されたテキストファイルを転送してみます。
これも同様にパケットを見てみます。

f:id:tsu--kun:20190905171416p:plain

やっぱり簡単に中身が見れてしまいました。
これでは重要なデータのやり取りができませんね。。。

5.FTPS通信の中身を見る

FTP通信では通信の中身が簡単に見れてしまいました。
では。FTPS通信ではどうでしょうか?
確認してみます。

f:id:tsu--kun:20190905171428p:plain

FTP通信では【Protocol】の部分が【TCP】のみだったのに対し
FTPS通信では【TLSv1.2】が存在します。
ひととおり中身を見てみましたが、平文でデータが送られている形跡はなく
データ部分は【Encrypted Application Data】となっており
暗号化されていることがわかります。