気になることメモ

日常の気になることを、とにかくメモしていきます。

Androidのファイアウォールの効果を確認

Androidファイアウォール

喫茶店が提供している無料WiFiを、たまに利用します。その時は、Android端末でWiFi接続する訳ですが、やっぱり公共のWiFiに繋げるのは怖いです。

そこで、Playストアで公開されている下記のRoot化不要のファイアウォールを入れさせて頂きました。

Mobiwol:ルート化不要のファイアウォール @Playストア

今回は、その効果を確認してみました。

【目的】
Android端末に対してポートスキャンを実行し、ファイアウォールの有無で通信の遮断が行われるかを確認する。

【結果】
Mobiwolによるファイアウォールは有効で、通信の遮断が問題なく行われている。

ポートスキャンによる確認

Windows上からnmapによるポートスキャンを実行しました。ポートスキャンは、下記のページを参考に実行しました。

nmap本家
実践!ポート・スキャン @ITpro

ポートスキャン実行結果

結論から言うと、ファイアウォールは有効に働いていました。
スキャン結果は下記の通りです。

ファイアウォール無効時

Skypeさんが使われている事が丸分かりです。
(ちなみにポートのスキャンのレンジは1~10000までです。)

> nmap -sS -sV -p 1-10000 xxx.xxx.xxx.xxx

Starting Nmap 6.46 ( http://nmap.org ) at 2014-06-26 13:27 東京 (標準時)
Nmap scan report for xxx.xxx.xxx.xxx
Host is up (0.011s latency).
Not shown: 9999 closed ports
PORT     STATE SERVICE VERSION
xxxx/tcp open  skype2  Skype
MAC Address: xx:xx:xx:xx:xx:xx (Asustek Computer)

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 135.99 seconds

ファイアウォール有効時

上記のSkypeポートへのアクセスが遮断されています。

> nmap -sS -sV -p 1-10000 xxx.xxx.xxx.xxx

Starting Nmap 6.46 ( http://nmap.org ) at 2014-06-26 13:33 東京 (標準時)
Nmap scan report for xxx.xxx.xxx.xxx
Host is up (0.0039s latency).
Not shown: 9999 closed ports
PORT     STATE    SERVICE VERSION
xxxx/tcp filtered unknown
MAC Address: xx:xx:xx:xx:xx:xx (Asustek Computer)

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.84 seconds

「filtered」の意味は、下記に詳細が掲載されています。

ポートスキャンの基本 @nmap本家

filtered
Nmapは、このポートが開いているかどうかを判別できない。なぜなら、パケットフィルタのせいで、プローブがポートまで到達できないからである。このフィルタ処理は、ファイアウォール専用機器、ルータのルール、ホストベースのファイアウォールソフトなどで実行できる。これらのポートからは情報がほとんど得られないので、攻撃者の企てを阻むことになる。場合によっては、タイプ3コード13(destination unreachable(宛先到達不能):通信が管理上の理由で禁止されている)などのICMPエラーメッセージを返すこともあるが、応答しないでプローブを破棄するだけのフィルタのほうがはるかに多く使われるようになっている。この場合、Nmapは、プローブが破棄されたのはフィルタリングではなくてネットワークの混雑のせいと見なして、再試行を数回行わざるを得なくなるので、スキャンの進行速度が格段に落ちる。

おまけ

古い人間なので、telnetによるポートへの通信テストも行ってみました。

ファイアウォール無効時

$ telnet xxx.xxx.xxx.xxx <Skypeポート番号>
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.

ファイアウォール有効時

$ telnet xxx.xxx.xxx.xxx <Skypeポート番号>
Trying xxx.xxx.xxx.xxx...
telnet: connect to address xxx.xxx.xxx.xxx: Connection timed out