Provádím průzkum ohledně vývoje portálů pro připojení wifi.
Chtěl bych zachytit značky WiSPr XML z autentizačního portálu FON (moji sousedé to mají aktivní, mám k tomu také roamingový účet).
Pokus o ověření v iPhone nebo dokonce v Macu to nezklame, protože zařízení detekuje tagy captive portal/WIPr a otevře vyhrazené okno/mini-prohlížeč bez jakýchkoliv ovládacích prvků; pokus o otevření stránky na Linuxu/*BSD nemusí fungovat jako uživatelský agent prohlížeče / nebo chování nebude rozpoznáno jako iPhone/Apple.
Sniffing transakce iPhone ji také nepřeruší, protože webová přihlašovací stránka captive portálu je zpracována v https/TLS (např. je šifrována na drátě).
Zkoušel jsem také sysdig
v Linuxu a očividně znovu narazil na šifrované přenosy.
wget
také nedosahuje uspokojivých výsledků.
Co dělat?
Přijatá odpověď:
Nakonec jsem použil lynx
v systému FreeBSD; zpočátku používal -dump
možnost, která umožnila vidět přesměrování, ale pouze výstup a ne obsah; pak objevil -source
možnost, která zobrazuje zdroj/HTML a nepokouší se jej vykreslit.
Také jsem použil možnost -useragent
abych předstíral, že jsem iPhone provádějící zjišťování WISPr, a také jsem se snažil získat jednu ze stránek, které se iPhone pokouší objevit pokud jedná se o captive portál (http://www.apple.com/library/test/sucess.html).
Také jsem se musel vypořádat se skutečností, že captive portál FON je podepsaný sám sebou(?), nebo moje FreeBSD nezná základní kořenový certifikát SSL. (neztratil jsem mnoho času sledováním toho); Jen jsem musel nakonfigurovat lynx, aby přijímal certifikáty s vlastním podpisem (otázku napíšu později a měl jsem zde odkaz).
Takže skutečné příkazy jsem použil kde:
lynx -useragent=CaptiveNetworkSupport -dump http://www.apple.com/library/test/sucess.html
a nicméně, zatímco první má svou užitečnost, ta, která mě zaujala více, byla:
lynx -useragent=CaptiveNetworkSupport -source http://www.apple.com/library/test/sucess.html
Pomocí posledně jmenovaného příkazového řádku jsem vrátil zdrojový kód HTML v jeho plné kráse s vloženými značkami WISPr.
Od man lynx
-dump dumps the formatted output of the default document or those specified on the command line to standard output. Unlike interactive mode, all documents are processed. This can be used in the following way: lynx -dump http://www.subir.com/lynx.html Files specified on the command line are formatted as HTML if their names end with one of the standard web suffixes such as ".htm" or ".html". Use the -force_html option to format files whose names do not follow this convention. -source works the same as dump but outputs HTML source instead of formatted text. For example lynx -source . >foo.html generates HTML source listing the files in the current directory. Each file is marked by an HREF relative to the parent directory. Add a trailing slash to make the HREF's relative to the current directory: lynx -source ./ >foo.html
převzato ze zachycené přihlašovací stránky:
<!-- WISPr message -->^M
<span class="displayNone"><!--<?xml version="1.0" encoding="UTF-8"?>^M
<WISPAccessGatewayParam xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.acmewisp.com/WISPAccessGatewayParam.xsd">^M
<Redirect>^M
<AccessProcedure>1.0</AccessProcedure>^M
<LoginURL>https://xxxx/captive/noswifi?hmac=xxxx&res=notyet&uamip=xxxx&uamport=80&userurl=&challenge=xxxxxxe&nasid=BC-14-01-XX-XX-XX&mac=00-15-AF-XX-XX-XX</LoginURL>^M
<AbortLoginURL>http://xxxx:80/captive/logoff</AbortLoginURL>^M
<MessageType>100</MessageType>^M
<ResponseCode>0</ResponseCode>^M
<AccessLocation>FonZON:PT</AccessLocation>^M
</Redirect>^M
</WISPAccessGatewayParam>-->^M
</span>