A checker for making sure the process of starbucks captive portal.
This is a hackathon project of IETF 100 Hackathon.
Author: [email protected] [email protected]
Stage1 - Get .pcap file
- Go to Starbucks Cafe
- Turn off your wifi, close the browser
- Starting to capture packets by toos(such as wireshark, tcpdump) on wifi interface
- Turn on your wifi
- Open browser
- Create one tab in the browser and click access wifi
- Access any website
- Stop capturing packets, and save the .pcap file
Stage2 - Run checker
Make sure the environment
- Language: python3.6
- Operating System: MacOS
Clone this project to your local machine
$ git clone [email protected]:note35/starbucks_captive_portal_checker.git
$ cd starbucks_captive_portal_checker- Install prerequisite
$ brew install https://raw.githubusercontent.com/secdev/scapy/master/.travis/pylibpcap.rb- Create virtual environment
$ virtualenv -p /usr/local/bin/python3.6 env3
$ . env3/bin/activate
$ pip3 install -r requirement.txt- Set path config in config.ini
[PATH]
PCAP_INPUT_PATH = example.pcap
JSON_OUTPUT_PATH = example.json- Run checker
python3.6 checker.pyFSM flow
DHCP -> HTTP302 -> Change Cipher Spec -> HTTP200
DHCP example:
{
"cnt": 50,
"host address": "10.4.150.35",
"protocol": "DHCP",
"time": 1510450337.902647
}HTTP example:
{
"cnt": 512,
"dst": "10.4.150.35",
"protocol": "HTTP",
"ret_code": 302,
"time": 1510450379.816324
}HTTPS example:
{
"cnt": 627,
"content_type": "Change Cipher Spec",
"handshake_type": "Client Hello",
"protocol": "HTTPS",
"time": 1510450380.62389
}