Skip to content

note35/starbucks_captive_portal_checker

Repository files navigation

Starbucks Captive Portal Checker

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]

Documentation

Presentation

How to run this project?

Stage1 - Get .pcap file

  1. Go to Starbucks Cafe
  2. Turn off your wifi, close the browser
  3. Starting to capture packets by toos(such as wireshark, tcpdump) on wifi interface
  4. Turn on your wifi
  5. Open browser
  6. Create one tab in the browser and click access wifi
  7. Access any website
  8. Stop capturing packets, and save the .pcap file

Stage2 - Run checker

  1. Make sure the environment

    • Language: python3.6
    • Operating System: MacOS
  2. Clone this project to your local machine

$ git clone [email protected]:note35/starbucks_captive_portal_checker.git
$ cd starbucks_captive_portal_checker
  1. Install prerequisite
$ brew install https://raw.githubusercontent.com/secdev/scapy/master/.travis/pylibpcap.rb
  1. Create virtual environment
$ virtualenv -p /usr/local/bin/python3.6 env3
$ . env3/bin/activate
$ pip3 install -r requirement.txt
  1. Set path config in config.ini
[PATH]
PCAP_INPUT_PATH = example.pcap
JSON_OUTPUT_PATH = example.json
  1. Run checker
python3.6 checker.py

Explanation

FSM 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
}

About

A checker for making sure the process of starbucks captive portal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages