GithubHelp home page GithubHelp logo

hubert3 / isniff-gps Goto Github PK

View Code? Open in Web Editor NEW
1.1K 105.0 188.0 17.19 MB

Passive sniffing tool for capturing and visualising WiFi location data disclosed by iOS devices

Python 53.38% Protocol Buffer 4.17% HTML 39.52% JavaScript 2.76% Shell 0.17%

isniff-gps's Introduction

iSniff GPS

iSniff GPS passively sniffs for SSID probes, ARPs and MDNS (Bonjour) packets broadcast by nearby iPhones, iPads and other wireless devices. The aim is to collect data which can be used to identify each device and determine previous geographical locations, based solely on information each device discloses about previously joined WiFi networks.

iOS devices transmit ARPs which sometimes contain MAC addresses (BSSIDs) of previously joined WiFi networks, as described in [1]. iSniff GPS captures these ARPs and submits MAC addresses to Apple's WiFi location service (masquerading as an iOS device) to obtain GPS coordinates for a given BSSID. If only SSID probes have been captured for a particular device, iSniff GPS can query network names on wigle.net and visualise possible locations.

By geo-locating multiple SSIDs and WiFi router MAC addresses, it is possible to determine where a device (and by implication its owner) is likely to have been.

Below: Visualisation of WiFi router locations in Melbourne, AU returned by Apple Location Services

Apple WLOC module screenshot

Components

iSniff GPS contains 2 major components and further python modules:

  • iSniff_import.py uses Scapy to extract data from a live capture or pcap file and inserts it into a database (iSniff_GPS.sqlite3 by default).

  • A Django web application provides a browser-based interface to view and analyse the data collected. This includes views of all detected devices and the SSIDs / BSSIDs each has probed for, a view by network, Google Maps views for visualising possible locations of a given BSSID or SSID, and a pie chart view showing a breakdown of the most popular device manufacturers based on client MAC address Ethernet OUIs.

  • wloc.py provides a QueryBSSID() function which looks up a given BSSID (AP MAC address) on Apple's WiFi location service. It will return the coordinates of the MAC queried for and usually an additional 400 nearby BSSIDs and their coordinates.

  • wigle_api.py provides a getLocation() function for querying a given SSID on the wigle.net database and returns GPS coordinates. It must be configured with a valid username and password set in the settings.py file. Please respect the wigle.net ToS in using this module.

Instructions

To use the web interface:

  1. Install or update required Python modules by running pip install -U -r requirements.txt.
  2. Initialise an empty database by running ./manage.py syncdb.
  3. Start the web interface by running ./manage.py runserver 127.0.0.1:8000.

To sniff wifi traffic:

  1. Install Scapy
  2. Import data from a wifi pcap capture by running ./run.sh -r <chan11.pcap>
  3. For live capture, bring up a wifi interface in monitor mode (usually mon0) so that airodump-ng shows traffic.
  4. Start live sniffing with ./run.sh -i mon0.

To solicit ARPs from iOS devices, set up an access point with DHCP disabled (e.g. using airbase-ng) and configure your sniffing interface to the same channel.

Once associated, iOS devices will send up to three ARPs destined for the MAC address of the DHCP server on previously joined networks. On typical home WiFi routers, the DHCP server MAC address is the same as the WiFi interface MAC address, which can be used for accurate geolocation. On larger corporate WiFi networks, the MAC of the DHCP server may be different and thus cannot be used for geolocation.

Note that as of iOS 6, DNAv4 ARPs containing the information disclosure should only be sent on encrypted networks (to be verified). See http://lists.apple.com/archives/security-announce/2012/Sep/msg00003.html (CVE-2012-3725)

Dependencies

See requirements.txt for python modules and versions required.

iSniff GPS was developed on a Ubuntu 12.04 (32-bit) VM with Python 2.7.3, Django 1.5.4 and Scapy 2.2.0-dev. The web interface code has been updated and tested with Django 1.7.1 running on Mac OS X Yosemite with Python 2.7.8. Network sniffing has not been tested on Mac OS X.

Credits

Written by @hubert3 / hubert(at)pentest.com. Presented at Blackhat USA July 2012, code published on Github 2012-08-31.

The implementation of wloc.py is based on work by François-Xavier Aguessy and Côme Demoustier [2].

Mark Wuergler of Immunity, Inc. provided helpful information through mailing list posts and Twitter replies.

Includes Bluff JS chart library by James Coglan.

  1. http://arstechnica.com/apple/2012/03/anatomy-of-an-iphone-leak/
  2. http://fxaguessy.fr/rapport-pfe-interception-ssl-analyse-donnees-localisation-smartphones/

isniff-gps's People

Contributors

dwin999 avatar hubert3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

isniff-gps's Issues

Probes to Broadcast?

It appears that iSniff is not capturing probes to broadcast but rather only probes to a specific SSID. Is this the case or am I seeing an anomaly?

apple-mobile-lte web page not working

Console output:

Querying 505:1:12288:135943937
Internal Server Error: /apple-mobile-lte/505:1:12288:135943937
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/mh/Development/Github/iSniff-GPS/iSniff_GPS/views.py", line 176, in AppleMobile
    (celldict,celldesc) = wloc.QueryMobile(cellid,LTE)
  File "/Users/mh/Development/Github/iSniff-GPS/iSniff_GPS/wloc.py", line 140, in QueryMobile
    r = requests.post('https://gs-loc.apple.com/clls/wloc',headers=headers,data=data,verify=False) #the remote SSL cert CN on this server doesn't match hostname anymore
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 110, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 461, in request
    prep = self.prepare_request(req)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 394, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/models.py", line 295, in prepare
    self.prepare_headers(headers)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/models.py", line 409, in prepare_headers
    check_header_validity(header)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/utils.py", line 797, in check_header_validity
    raise InvalidHeader("Invalid return character or leading space in header: %s" % name)
InvalidHeader: Invalid return character or leading space in header: Accept-Encoding:
[17/Oct/2016 17:59:45] "GET /apple-mobile-lte/505:1:12288:135943937 HTTP/1.1" 500 95269

Browser displays:

InvalidHeader at /apple-mobile-lte/505:1:12288:135943937
Invalid return character or leading space in header: Accept-Encoding:
Request Method: GET
Request URL:    http://127.0.0.1:8000/apple-mobile-lte/505:1:12288:135943937
Django Version: 1.7.1
Exception Type: InvalidHeader
Exception Value:    
Invalid return character or leading space in header: Accept-Encoding:
Exception Location: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/utils.py in check_header_validity, line 797
Python Executable:  /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
Python Version: 2.7.12
Python Path:    
['/Users/mh/Development/Github/iSniff-GPS',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
 '/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages']
Server time:    Mon, 17 Oct 2016 17:59:45 -0500

TabError: inconsistent use of tabs and spaces in indentation

Traceback (most recent call last):
File "/root/iSniff-GPS/./manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/root/.env/lib/python3.9/site-packages/django/core/management/init.py", line 354, in execute_from_command_line
utility.execute()
File "/root/.env/lib/python3.9/site-packages/django/core/management/init.py", line 328, in execute
django.setup()
File "/root/.env/lib/python3.9/site-packages/django/init.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/root/.env/lib/python3.9/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/root/.env/lib/python3.9/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 786, in exec_module
File "", line 923, in get_code
File "", line 853, in source_to_code
File "", line 228, in _call_with_frames_removed
File "/root/iSniff-GPS/iSniff_GPS/models.py", line 30
if self.BSSID:
TabError: inconsistent use of tabs and spaces in indentation

How to get the SSID?

Hi!

There's any way to get the ssid of each network returned by the wloc.py?

Thanks!

Apple wloc does not work any more

Hi,

the Apple wloc does not work any more, the coordinates it returns seem to be -180.0 -180.0 always. Has their API changed?

Cheers
Tom

Apple WiFi Geolocation Exception:

After starting the Django server with "python manage.py runserver 127.0.0.1:8080" (not as root), and browsing to http://127.0.0.1:8080/apple-wloc/00:1b:2f:3d:a9:32, I get the following exception error:

SSLError at /apple-wloc/00:1b:2f:3d:a9:32

hostname 'gs-loc.apple.com' doesn't match either of '*.ls.apple.com', 'ls.apple.com'

Request Method: GET
Request URL: http://127.0.0.1:8080/apple-wloc/00:1b:2f:3d:a9:32
Django Version: 1.4.3
Exception Type: SSLError
Exception Value:

hostname 'gs-loc.apple.com' doesn't match either of '*.ls.apple.com', 'ls.apple.com'

Exception Location: /usr/local/lib/python2.7/dist-packages/requests/adapters.py in send, line 163
Python Executable: /usr/bin/python
Python Version: 2.7.3
Python Path:

['/home/jwright/iSniff-GPS-master',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
'/usr/lib/python2.7/dist-packages/ubuntuone-couch',
'/usr/lib/python2.7/dist-packages/ubuntuone-installer',
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']

Server time: Sat, 29 Dec 2012 11:21:53 -0600

http://dpaste.com/hold/855616/

The Django version is 1.4.3 (current release version). I'll also try with the Django 1.4.1 noted in the README.

Thanks,

-Josh

Missing module GSM_pb2?

I'm guessing this is a missing file in a recent push as Google doesn't turn up much and git blame highlights a fairly recent commit, but the current master does this:

ImportError at /

No module named GSM_pb2


Request Method: GET
Request URL:    http://192.168.33.51:8000/
Django Version: 1.5.5
Exception Type: ImportError
Exception Value:    
No module named GSM_pb2
Exception Location: /vagrant/iSniff_GPS/wloc.py in <module>, line 11
Python Executable:  /usr/bin/python
Python Version: 2.7.3
Python Path:    
['/vagrant',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages']
Server time:    Sun, 27 Oct 2013 04:53:51 -0500

So either there's a dep missing that provides that or a file not committed.

Dave

is there anyway to make mobile devices probe ?

I want to know, Is it possible to set a fake access point or something via which make mobile devices probe manually?because its complete random on when some device will send probe requests. I want to detect mobile devices on bikes or car which are moving.

Also is it possible to detect the devices which are associated with 5Ghz channel?

I would appreciate if you guys can discuss on my doubt. Your work in this project is really commendable.

Thank you.

error when running ./run.sh

I get the following error sporadically when running ./run.sh -i mon0, it stops the and I have to restart the script to contiune. Some times it fails right off and other times after collection lots of data.

root@kali:~/Desktop/iSniff-GPS-master# ./run.sh -i mon0
WARNING: No route found for IPv6 destination :: (no default route?)
Sniffing mon0...
Traceback (most recent call last):
File "./iSniff_import.py", line 137, in
sniff(iface=args.interface, prn=lambda x:process(x), store=0)
File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 586, in sniff
r = prn(p)
File "./iSniff_import.py", line 137, in
sniff(iface=args.interface, prn=lambda x:process(x), store=0)
File "./iSniff_import.py", line 123, in process
src=p.getlayer('Dot11').addr3
AttributeError: 'NoneType' object has no attribute 'addr3'

Wigle authentication error - even with correct credentials

despite having a wigle account that works, the browser throws an error even though I have put my
login in the file as stated.

btowser shows this error:
WigleAuthenticationError at /locateSSID/blackhat
Could not authenticate as user steeley
Request Method: GET
Request URL: http://127.0.0.1:8000/locateSSID/blackhat
Django Version: 1.7.1
Exception Type: WigleAuthenticationError
Exception Value:
Could not authenticate as user steeley
Exception Location: /usr/local/lib/python2.7/dist-packages/wigle/init.py in reauthenticate, line 90
Python Executable: /usr/bin/python
Python Version: 2.7.9
Python Path:
['/home/pi/iSniff',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-arm-linux-gnueabihf',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7']

problem with wigle lookup on the server

Everything seems to work fine in case of capturing and displaying the data in the console and the web interface with the sqlite db but trying to lookup the ssid via the web interface crashes the web page. Also the apple wifi lookup does not load the map and theres only a location pointer on an empty background visible.

Error on ./iSniff_import.py -i wlan1

Hi!
Start import wifi network and get error:

./iSniff_import.py -i wlan1
WARNING: No route found for IPv6 destination :: (no default route?)
Traceback (most recent call last):
File "./iSniff_import.py", line 10, in
from iSniff_GPS.models import Client, AP, Location
File "/root/iSniff-GPS/iSniff_GPS/models.py", line 5, in
class Client(models.Model):
File "/root/iSniff-GPS/iSniff_GPS/models.py", line 6, in Client
mac = models.CharField(max_length=len('ff:ff:ff:ff:ff:ff'), unique=True)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/init.py", line 1012, in init
super(CharField, self).init(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/init.py", line 146, in init
self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
File "/usr/local/lib/python2.7/dist-packages/django/conf/init.py", line 46, in getattr
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/init.py", line 40, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

Please, help me solve this problem.

Problem parsing SSID's with special characters

Hi,

It seems the app can't handle special characters such as unicode characters in SSID names and crashes when it encounters them:

Traceback (most recent call last):
File "./iSniff_import.py", line 140, in
sniff(iface=args.interface, prn=lambda x:process(x), store=0)
File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 586, in sniff
r = prn(p)
File "./iSniff_import.py", line 140, in
sniff(iface=args.interface, prn=lambda x:process(x), store=0)
File "./iSniff_import.py", line 108, in process
UpdateDB(clientmac=mac, time=p.time, SSID=p.info)
File "./iSniff_import.py", line 56, in UpdateDB
a = AP.objects.get(SSID=SSID)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 143, in get
return self.get_query_set().get(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 398, in get
num = len(clone)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 106, in len
self._result_cache = list(self.iterator())
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 317, in iterator
for row in compiler.results_iter():
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 775, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 840, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py", line 41, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/base.py", line 366, in execute
six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/base.py", line 362, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.DatabaseError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.

cheers

Cj

web error

I get the following error when trying to get to the web viewer

NoReverseMatch at /

Reverse for '"clientlist"' with arguments '()' and keyword arguments '{}' not found.

Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.4.5
Exception Type: NoReverseMatch
Exception Value:

Reverse for '"clientlist"' with arguments '()' and keyword arguments '{}' not found.

Exception Location: /usr/lib/python2.7/dist-packages/django/template/defaulttags.py in render, line 424
Python Executable: /usr/bin/python
Python Version: 2.7.3
Python Path:

['/root/Desktop/iSniff-GPS-master',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']

Server time: Thu, 15 Aug 2013 20:18:33 -0500

BSSID not populating

I assume the BSSID should be populating but it doesn't seem to work for me. It would be really nice to be able to click on a BSSID and have it take you to the "Apple WiFi Geolocation" and populate the url with the BSSID you are interested in. I can manually put a BSSID in the url and it works fine though. It is just that the BSSID's are not being populated in the UI. I know that the mon interface can see the AP because it is setting right next to me and I can see it via a second mon interface or if I stop iSniff and airodump-ng on the same mon interface that I use for iSniff.

Using Certifi with urllib3

iSniff-GPS

I came across an interesting sounding project on GitHub, called iSniff-GPS.
I decided to check it out, but i experienced some issues when trying to use the web interface.


Instructions

Taken from: _https://github.com/hubert3/iSniff-GPS_.

To use the web interface:

  1. Install or update required Python modules by running pip install -U -r requirements.txt.
  2. Initialise an empty database by running ./manage.py syncdb.
  3. Start the web interface by running ./manage.py runserver 127.0.0.1:8000.

./manage.py

Here is the contents of manage.py.

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "iSniff_GPS.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

Error

When accessing the web server; I get a map of Melbourne, VICTORIA. (Australia).
Similar to the following image:

Map

Any attempts to further navigate this interface are fruitless and provokes an errors.
Similar to the following message:

/usr/local/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:791: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)

Using Certifi with urllib3

So I follow the instructions at: _https://urllib3.readthedocs.org/en/latest/security.html.
Until I get to: _https://urllib3.readthedocs.org/en/latest/security.html#certifi-with-urllib3
.

Setup your pool to require a certificate and provide the certifi bundle:

import urllib3
import certifi

http = urllib3.PoolManager(
    cert_reqs='CERT_REQUIRED', # Force certificate check.
    ca_certs=certifi.where(),  # Path to the Certifi bundle.
)

    # You're ready to make verified HTTPS requests.
try:
    r = http.request('GET', 'https://example.com/')
except urllib3.exceptions.SSLError as e:
    # Handle incorrect certificate error.
    ...
  • What am I supposed to do with this block of code?
  • Does it require modification in order to work properly?
  • Does it belong inside manage.py/connectionpool.py?

Additional Information

My experience with Python is minimal but I've tried a bunch of different things over the last few days, trying to get this to work. Here are a few screenshots, depicting some of the various error messages; generated in the background, while i was trying to play with the web interface:


MyTerm
MyTermAgain
MyTermAgainAgain

getting BSSID radius

in BSSIDApple.proto

which field could encode the radius/accuracy?
How did you find the lat/lon in the first place?

optional int64 latitude = 1;
optional int64 longitude = 2;
optional int64 valeur_inconnue3 = 3; 
optional int64 valeur_inconnue4 = 4; 
optional int64 valeur_inconnue5 = 5; 
optional int64 valeur_inconnue6 = 6; 
optional int64 valeur_inconnue7 = 7; 
optional int64 valeur_inconnue8 = 8; 
optional int64 valeur_inconnue9 = 9; 
optional int64 valeur_inconnue10 = 10; 
optional int64 valeur_inconnue11 = 11; 
optional int64 valeur_inconnue12 = 12; 
optional int64 valeur_inconnue21 = 21;

No maps upon AP lookup

The software worked like a champ until Thursday, and now I no longer get any map upon AP lookup. Upon the AP by SSID locate I get a return with the number of returned APs, but no map, just a blank screen as follows:

screen shot 2013-10-12 at 8 09 32 pm

Is the Google maps functionality no longer working right?

Google Maps not displaying via apple-mobil or apple-mobil-lte

I've been trying to locate a mobile device via the "Apple LTE Geolocation" and the "Apple GSM/3G Geolocation" link. The default url works and displays a map but when I try to find a different device by changing the url, I get a red icon as if it locates the device but no map. I use a url with the following format:
http://:8000/apple-mobile/MCC:MNC:LAC:CID.
If I put in some bogus phone number, I get 0 results found message so I think it is finding it, but I can;t tell where :-(
Any suggestions?

macos error AttributeError: 'module' object has no attribute 'intf'

./run.sh -i en0
Traceback (most recent call last):
File "./iSniff_import.py", line 5, in
from scapy.all import *
File "/Library/Python/2.7/site-packages/scapy/all.py", line 22, in
from route import *
File "/Library/Python/2.7/site-packages/scapy/route.py", line 158, in
conf.route=Route()
File "/Library/Python/2.7/site-packages/scapy/route.py", line 18, in init
self.resync()
File "/Library/Python/2.7/site-packages/scapy/route.py", line 27, in resync
self.routes = read_routes()
File "/Library/Python/2.7/site-packages/scapy/arch/unix.py", line 83, in read_routes
ifaddr = scapy.arch.get_if_addr(netif)
File "/Library/Python/2.7/site-packages/scapy/arch/init.py", line 32, in get_if_addr
return socket.inet_ntoa(get_if_raw_addr(iff))
File "/Library/Python/2.7/site-packages/scapy/arch/pcapdnet.py", line 184, in get_if_raw_addr
i = dnet.intf()
AttributeError: 'module' object has no attribute 'intf'

OSError: [Errno 100] Network is down

Hello,

I'm getting error when i start live capture. (kali.2017.3)

root@kali:~/iSniff-GPS# iwconfig
wlan0mon IEEE 802.11 Mode:Monitor Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on

lo no wireless extensions.

eth0 no wireless extensions.

root@kali:/iSniff-GPS# ./run.sh -i wlan0mon
Sniffing wlan0mon...
Traceback (most recent call last):
File "./iSniff_import.py", line 151, in
sniff(iface=args.interface, prn=lambda x:process(x), store=0)
File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 593, in sniff
**karg)]
File "/usr/lib/python2.7/dist-packages/scapy/arch/linux.py", line 510, in init
_flush_fd(self.ins)
File "/usr/lib/python2.7/dist-packages/scapy/arch/linux.py", line 312, in _flush_fd
os.read(fd,MTU)
OSError: [Errno 100] Network is down
root@kali:
/iSniff-GPS#

Error with ./run.sh after long collection

Thanks for responding to the issues so quickly before. I recevied the following error after running run.sh for an extended period of time. I do like the added count values you have added to keep the script alive.

I have replaced the MACs with [00:00:00:00:00:00]

Thanks again,

840000
Intel [00:00:00:00:00:00] probe for linksys52
Hon [00:00:00:00:00:00]probe for 9KJCP
Hon [00:00:00:00:00:00] probe for benton Network
Cisco [00:00:00:00:00:00]probe for RGXLPQSNGBNYVRAK
Apple [00:00:00:00:00:00]probe for WiFiRSU_63636
WARNING: Error parsing MDNS
None
WARNING: Error parsing MDNS
None
WARNING: Error parsing MDNS
None
Traceback (most recent call last):
File "./iSniff_import.py", line 140, in
sniff(iface=args.interface, prn=lambda x:process(x), store=0)
File "/usr/lib/python2.7/dist-packages/scapy/sendrecv.py", line 586, in sniff
r = prn(p)
File "./iSniff_import.py", line 140, in
sniff(iface=args.interface, prn=lambda x:process(x), store=0)
File "./iSniff_import.py", line 108, in process
UpdateDB(clientmac=mac, time=p.time, SSID=p.info)
File "./iSniff_import.py", line 56, in UpdateDB
a = AP.objects.get(SSID=SSID)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 143, in get
return self.get_query_set().get(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 407, in get
(self.model._meta.object_name, num))
iSniff_GPS.models.MultipleObjectsReturned: get() returned more than one AP -- it returned 2!

Contact you

Hi,

How can I contact you, do you have an e-mail?

Solved: found the contact mail and twitter

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.