checking number of connected users hotspot ubuntu
#!/usr/bin/python3.6
import subprocess
import re
import requests
# Store Mac address of all nodes here
saved = {
'xx:xx:xx:xx:xx:xx': 'My laptop',
}
# Set wireless interface using ifconfig
interface = "wlp4s0"
mac_regex = re.compile(r'([a-zA-Z0-9]{2}:){5}[a-zA-Z0-9]{2}')
def parse_arp():
arp_out = subprocess.check_output(f'arp -e -i {interface}', shell=True).decode('utf-8')
if 'no match found' in arp_out:
return None
result = []
for lines in arp_out.strip().split('\n'):
line = lines.split()
if interface in line and '(incomplete)' not in line:
for element in line:
# If its a mac addr
if mac_regex.match(element):
result.append((line[0], element))
return result
def get_mac_vendor(devices):
num = 0
for device in devices:
try:
url = f"http://api.macvendors.com/{device[1]}"
try:
vendor = requests.get(url).text
except Exception as e:
print(e)
vendor = None
except Exception as e:
print("Error occured while getting mac vendor", e)
num += 1
print_device(device, num, vendor)
def print_device(device, num=0, vendor=None):
device_name = saved[device[1]] if device[1] in saved else 'unrecognised !!'
print(f'\n{num})', device_name, '\nVendor:', vendor, '\nMac:', device[1], '\nIP: ',device[0])
if __name__ == '__main__':
print('Retrieving connected devices ..')
devices = parse_arp()
if not devices:
print('No devices found!')
else:
print('Retrieving mac vendors ..')
try:
get_mac_vendor(devices)
except KeyboardInterrupt as e:
num = 0
for device in devices:
num += 1
print_device(device, num)
Are there any code examples left?
New code examples in category Python
-
Python 2023-04-11 03:04:20
-
Python 2022-03-27 22:40:04 pycharm no module named
-
Python 2022-03-27 22:25:05 assign multiple variablesin one line
-
Python 2022-03-27 22:20:02 levenshtein distance
-
Python 2022-03-27 21:35:09 get text from url python last slash
-
Python 2022-03-27 21:30:30 df concatenate df
-
Python 2022-03-27 21:25:09 python odd or even
-
Python 2022-03-27 21:15:32 python include function from another file
-
Python 2022-03-27 21:10:01 color module python
-
Python 2022-03-27 21:00:27 python tkinter cursor types