カンファレンスや勉強会、お店などにある FreeWifi で wifi 接続時に認証画面が表示されログインをしないとネットワークに繋げられないものがあります。
通常であれば wifi を選択するとシステムダイアログ (Captive Portal って言うらしい) のような感じで認証画面が表示されるのですが、ネットワークを再接続したりしても一向に認証画面が表示されず wifi (基本的人権) を得られないくてハマってしまったのでメモ。
DNS の値が 8.8.8.8
になっている
「Mac wifi 認証画面 表示されない」とかで検索すると結構出てくるやつ
- システム管理画面 > ネットワーク > wifi > 詳細
- DNS タブを選択
- DNS サーバ に
8.8.8.8
ある場合、表示されている8.8.8.8
でないアドレスをメモしておき 「-」で8.8.8.8
を削除するか「+」でメモしておいたアドレスのみに上書きする - 一度 wifi を off にして再接続
- 認証ダイアログが表示されれば成功
今回はこれで解決しなかった
再起動
wifi アクセスポイントが見つからないとか困った時の再起動。
割と解決するケースが多いソリューション。
今回の場合は再起動したら、認証画面が表示されてた。ただしエラーで、
「問題が起きました。」
その問題の内容を教えて欲しい…
curl で認証ページのURLを見つける
通常は何らかのwebサイトのアクセスしようとしたら認証ダイアログ (Captive Portal) が表示されるものが、今回はどうやらシステムの認証ダイアログの表示が何らかの理由でできなくなっているのが原因っぽい。
curl
コマンドでどのようにリダイレクトをしているかの log をみれば認証画面の URL が解りそう。
こんな感じのコマンドを実行
$ curl -k -v -L -D test example.com
👇(抜粋)
* Rebuilt URL to: http://example.com/ * Connected to example.com > GET / HTTP/1.1 > Host: example.com > User-Agent: curl/7.54.0 > Accept: */* > < HTTP/1.1 302 Moved Temporarily < Connection: close < Location: https://XXXX.XXXX.com/logon?XXXXXXXXXXXXXXX < * Closing connection 0 * Issue another request to this URL: 'https://XXXX.XXXX.com/logon?XXXXXXXXXXXXXXX' * Connected to XXXX.XXXX.com > GET /logon?XXXXXXXXXXXXXXX HTTP/1.1 > Host: XXXX.XXXX.com > Accept: */* > < HTTP/1.1 200 OK < Allow: OPTIONS, GET
example.com
にアクセスしようとしたのが 302
でリダイレクトして、認証画面の https://XXXX.XXXX.com/logon?XXXXXXXXXXXXXXX
にアクセスし成功していた事が解った。
カットしているけど、ログにはレスポンスの body としてログイン画面のHTMLが表示されえていたので、この認証画面にアクセスすれば良さそうだと判断できた。 (パラメーターが動的に変わるものだと難しいかもしれないけど…)
curl のオプション
-k
... Allow connections to SSL sites without certs (H)
SSLの証明エラーとかを無視して接続-v
... Make the operation more talkative
リクエスト・レスポンスのHTTPヘッダー、Bodyなど詳細を出力-L
... Follow redirects (H)
リダイレクトさせる-D
... --dump-header FILE Write the received headers to FILE
詳細なヘッダをファイルに出力 ( 先の例ではtest
というファイルに出力している )
ポエム
今回は、curl
叩いて表示されたレスポンスにあった認証画面の URL をブラウザに直接入力するとログイン画面が表示され wifi を使うことができるようになった。ネットワーク関係はド素人なので、お作法的に良いのかチョット判断しかねるけど wifi の認証画面が表示されない時に調べてみる方法の一つにはなるかもしれない。
いつもスタバとかでもログイン画面のダイアログ出てこないから覚えてる認証画面のURL直接叩いて接続してたんだけど、そもそもマシンのアプリか何かがこのダイアログの表示を阻んでいるっぽい…
[参考]
- ログイン制Wi-Fiの仕組みについての考察(Mac編) - Ryoto Saito's Blog
- MacやiPhoneで公共のwifiに接続できない時の対処法 - 韜晦日記
- よく使うcurlコマンドのオプションまとめ(14個) - Qiita

100%ムックシリーズ Wi-Fiがまるごとわかる本 2019 (100%ムックシリーズ)
- 出版社/メーカー: 晋遊舎
- 発売日: 2019/03/25
- メディア: Kindle版
- この商品を含むブログを見る

- 出版社/メーカー: 明治
- メディア: 食品&飲料
- この商品を含むブログを見る