저는 Wi-Fi 종속 포털 개발에 대해 연구 중입니다.
나는 캡처하고 싶다무선SPrXML 태그의 출처목신인증 종속 포털(이웃이 활성화되어 있고 나도 로밍 계정이 있습니다).
iPhone 또는 Mac에서 인증을 시도하면 장치가 종속 포털/WIPr 태그를 감지하고 Linux/*BSD에서 페이지를 열려고 시도할 때 아무런 제어 없이 개인 창/미니 브라우저가 열리므로 문제가 해결되지 않습니다. 브라우저 사용자 에이전트/또는 동작이 iPhone/Apple로 인식되지 않아 작동하지 않습니다.
iPhone 거래를 스니핑해도 문제가 해결되지 않습니다. 종속 포털의 웹 로그인 페이지가 https/TLS를 통해 처리되기 때문입니다(즉, 유선상으로 암호화됩니다).
나는 또한 sysdig
Linux에서 그것을 시도했고 암호화된 전송에 다시 문제가 발생한 것 같습니다.
wget
만족스러운 결과를 얻지 못했습니다.
무엇을 해야 할까요?
답변1
나는 lynx
FreeBSD 시스템을 사용하게 되었는데 원래 -dump
는 리디렉션 보기를 허용했지만 출력만 볼 수 있었고 내용은 볼 수 없었습니다. 그런 다음 -source
소스/HTML을 표시하고 렌더링을 시도하지 않는 이 옵션을 발견했습니다.
또한 이 옵션을 사용하여 -useragent
WISPr 검색을 수행하는 iPhone인 것처럼 가장하고 iPhone이 검색하려는 페이지 중 하나를 가져오려고 했습니다.만약에종속 포털을 처리하고 있습니다(http://www.apple.com/library/test/sucess.html).
또한 FON 종속 포털이 자체 서명(?)되어 있거나 내 FreeBSD가 기본 SSL 루트 인증서를 모른다는 사실도 처리해야 합니다. (나는 이것을 추적하는 데 너무 많은 시간을 낭비하지 않았습니다) 방금 자체 서명된 인증서를 허용하도록 lynx를 구성했습니다(나중에 질문을 작성하고 여기에 링크를 제공할 것입니다).
그래서 내가 사용하는 실제 명령은 다음과 같습니다.
lynx -useragent=CaptiveNetworkSupport -dump http://www.apple.com/library/test/sucess.html
그러나 첫 번째 것이 유용하기는 하지만 내가 더 관심을 갖는 것은 다음과 같습니다.
lynx -useragent=CaptiveNetworkSupport -source http://www.apple.com/library/test/sucess.html
후자의 명령줄을 사용하면 내장된 WISPr 태그를 통해 HTML 소스 코드를 복원할 수 있었습니다.
~에서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
캡처된 로그인 페이지에서 가져옴:
<!-- 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>