def test_ubuntu_1804_interface(benchmark, mocker, get_sample): mocker.patch('getmac.getmac.WINDOWS', False) mocker.patch('getmac.getmac.DARWIN', False) mocker.patch('getmac.getmac.BSD', False) mocker.patch('getmac.getmac.OPENBSD', False) mocker.patch('getmac.getmac.FREEBSD', False) mocker.patch('getmac.getmac.LINUX', True) mocker.patch('getmac.getmac.WSL', False) content = get_sample('ubuntu_18.04/ifconfig_ens33.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = benchmark(getmac.get_mac_address, interface='ens33') assert '00:0c:29:b5:72:37' == result # TODO: going to need to do some mock.side_effect hacking here # content = get_sample('ubuntu_18.04/ifconfig.out') # mocker.patch('getmac.getmac._call_proc', return_value=content) # assert '00:0c:29:b5:72:37' == getmac.get_mac_address(interface='ens33') content = get_sample('ubuntu_18.04/ip_link_list.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = getmac.get_mac_address(interface='ens33') assert '00:0c:29:b5:72:37' == result # TODO: mock return value so we're hitting the right regex content = get_sample('ubuntu_18.04/ip_link.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = getmac.get_mac_address(interface='ens33') assert '00:0c:29:b5:72:37' == result
def test_ubuntu_1804_remote(benchmark, mocker, get_sample): mocker.patch("getmac.getmac.WINDOWS", False) mocker.patch("getmac.getmac.DARWIN", False) mocker.patch("getmac.getmac.OPENBSD", False) mocker.patch("getmac.getmac.FREEBSD", False) mocker.patch("getmac.getmac.LINUX", True) mocker.patch("getmac.getmac.WSL", False) content = get_sample("ubuntu_18.04/arp_-a.out") mocker.patch("getmac.getmac._popen", return_value=content) result = benchmark(getmac.get_mac_address, ip="192.168.16.2") assert "00:50:56:f1:4c:50" == result # TODO: mock return value so we're hitting the right regex content = get_sample("ubuntu_18.04/arp_-an.out") mocker.patch("getmac.getmac._popen", return_value=content) result = getmac.get_mac_address(ip="192.168.16.2") assert "00:50:56:f1:4c:50" == result content = get_sample("ubuntu_18.04/cat_proc-net-arp.out") mocker.patch("getmac.getmac._read_file", return_value=content) result = getmac.get_mac_address(ip="192.168.16.2") assert "00:50:56:f1:4c:50" == result content = get_sample("ubuntu_18.04/ip_neighbor_show_192-168-16-2.out") mocker.patch("getmac.getmac._popen", return_value=content) result = getmac.get_mac_address(ip="192.168.16.2") assert "00:50:56:f1:4c:50" == result # TODO: mock return value so we're hitting the right regex content = get_sample("ubuntu_18.04/ip_neighbor_show.out") mocker.patch("getmac.getmac._popen", return_value=content) result = getmac.get_mac_address(ip="192.168.16.2") assert "00:50:56:f1:4c:50" == result
def test_ubuntu_1804_remote(benchmark, mocker, get_sample): mocker.patch('getmac.getmac.WINDOWS', False) mocker.patch('getmac.getmac.DARWIN', False) mocker.patch('getmac.getmac.OPENBSD', False) mocker.patch('getmac.getmac.FREEBSD', False) mocker.patch('getmac.getmac.LINUX', True) mocker.patch('getmac.getmac.WSL', False) content = get_sample('ubuntu_18.04/arp_-a.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = benchmark(getmac.get_mac_address, ip='192.168.16.2') assert '00:50:56:f1:4c:50' == result # TODO: mock return value so we're hitting the right regex content = get_sample('ubuntu_18.04/arp_-an.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = getmac.get_mac_address(ip='192.168.16.2') assert '00:50:56:f1:4c:50' == result content = get_sample('ubuntu_18.04/cat_proc-net-arp.out') mocker.patch('getmac.getmac._read_file', return_value=content) result = getmac.get_mac_address(ip='192.168.16.2') assert '00:50:56:f1:4c:50' == result content = get_sample('ubuntu_18.04/ip_neighbor_show_192-168-16-2.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = getmac.get_mac_address(ip='192.168.16.2') assert '00:50:56:f1:4c:50' == result # TODO: mock return value so we're hitting the right regex content = get_sample('ubuntu_18.04/ip_neighbor_show.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = getmac.get_mac_address(ip='192.168.16.2') assert '00:50:56:f1:4c:50' == result
def test_openbsd_remote(benchmark, mocker, get_sample): mocker.patch("getmac.getmac.WINDOWS", False) mocker.patch("getmac.getmac.DARWIN", False) mocker.patch("getmac.getmac.BSD", True) mocker.patch("getmac.getmac.OPENBSD", True) mocker.patch("getmac.getmac.FREEBSD", False) mocker.patch("getmac.getmac.LINUX", False) content = get_sample("openbsd_6/arp_an.out") mocker.patch("getmac.getmac._popen", return_value=content) assert "52:54:00:12:35:02" == benchmark(getmac.get_mac_address, ip="10.0.2.2") assert "52:54:00:12:35:03" == getmac.get_mac_address(ip="10.0.2.3") assert "08:00:27:18:64:56" == getmac.get_mac_address(ip="10.0.2.15")
def test_openbsd_remote(benchmark, mocker, get_sample): mocker.patch('getmac.getmac.WINDOWS', False) mocker.patch('getmac.getmac.DARWIN', False) mocker.patch('getmac.getmac.BSD', True) mocker.patch('getmac.getmac.OPENBSD', True) mocker.patch('getmac.getmac.FREEBSD', False) mocker.patch('getmac.getmac.LINUX', False) content = get_sample('openbsd_6/arp_an.out') mocker.patch('getmac.getmac._call_proc', return_value=content) assert '52:54:00:12:35:02' == benchmark(getmac.get_mac_address, ip='10.0.2.2') assert '52:54:00:12:35:03' == getmac.get_mac_address(ip='10.0.2.3') assert '08:00:27:18:64:56' == getmac.get_mac_address(ip='10.0.2.15')
def test_darwin_remote(mocker, get_sample): mocker.patch("getmac.getmac.WINDOWS", False) mocker.patch("getmac.getmac.DARWIN", True) mocker.patch("getmac.getmac.BSD", False) mocker.patch("getmac.getmac.OPENBSD", False) mocker.patch("getmac.getmac.FREEBSD", False) mocker.patch("getmac.getmac.LINUX", False) content = get_sample("OSX/arp_-a.out") mocker.patch("getmac.getmac._popen", return_value=content) assert "58:6d:8f:07:c9:94" == getmac.get_mac_address(ip="192.168.1.1") # TODO: mock return value so we're hitting the right regex content = get_sample("OSX/arp_-an.out") mocker.patch("getmac.getmac._popen", return_value=content) assert "58:6d:8f:07:c9:94" == getmac.get_mac_address(ip="192.168.1.1")
def attendance_manual(self, next_action, entered_pin=None, mac_address=None): data = request.httprequest mac_address = ':'.join(re.findall('..', '%012x' % uuid.getnode())) gws = netifaces.gateways() mac_address = getmac.get_mac_address(ip=gws['default'].values()[0][0], network_request=False) attendances_config_id = self.env['attendances.config'].search( [('name', '=', mac_address)], limit=1) if not attendances_config_id: remote_addr = realip_remote_addr = False try: remote_addr = data.remote_addr except: True try: realip_remote_addr = data.realip_remote_addr except: True result = { 'remote_addr': remote_addr, 'realip_remote_addr': realip_remote_addr, } environ = {} for key, value in data.environ.items(): if type(value) == str: environ.update({key: value}) result.update({'environ': environ}) return {'warning': _(mac_address + "____" + json.dumps(result))} res = super(hr_employee_inherit, self).attendance_manual(next_action, entered_pin) return res
def test_darwin_remote(mocker, get_sample): mocker.patch('getmac.getmac.WINDOWS', False) mocker.patch('getmac.getmac.DARWIN', True) mocker.patch('getmac.getmac.BSD', False) mocker.patch('getmac.getmac.OPENBSD', False) mocker.patch('getmac.getmac.FREEBSD', False) mocker.patch('getmac.getmac.LINUX', False) content = get_sample('OSX/arp_-a.out') mocker.patch('getmac.getmac._call_proc', return_value=content) assert '58:6d:8f:07:c9:94' == getmac.get_mac_address(ip='192.168.1.1') # TODO: mock return value so we're hitting the right regex content = get_sample('OSX/arp_-an.out') mocker.patch('getmac.getmac._call_proc', return_value=content) assert '58:6d:8f:07:c9:94' == getmac.get_mac_address(ip='192.168.1.1')
def test_darwin_interface(mocker, get_sample): mocker.patch("getmac.getmac.WINDOWS", False) mocker.patch("getmac.getmac.DARWIN", True) mocker.patch("getmac.getmac.BSD", False) mocker.patch("getmac.getmac.OPENBSD", False) mocker.patch("getmac.getmac.FREEBSD", False) mocker.patch("getmac.getmac.LINUX", False) content = get_sample("OSX/ifconfig.out") mocker.patch("getmac.getmac._popen", return_value=content) assert "2c:f0:ee:2f:c7:de" == getmac.get_mac_address(interface="en0")
def test_openbsd_interface(mocker, get_sample): mocker.patch('getmac.getmac.WINDOWS', False) mocker.patch('getmac.getmac.DARWIN', False) mocker.patch('getmac.getmac.BSD', True) mocker.patch('getmac.getmac.OPENBSD', True) mocker.patch('getmac.getmac.FREEBSD', False) mocker.patch('getmac.getmac.LINUX', False) content = get_sample('openbsd_6/ifconfig.out') mocker.patch('getmac.getmac._call_proc', return_value=content) assert '08:00:27:18:64:56' == getmac.get_mac_address(interface='em0') # TODO: mock return value so we're hitting the right regex content = get_sample('openbsd_6/ifconfig_em0.out') mocker.patch('getmac.getmac._call_proc', return_value=content) assert '08:00:27:18:64:56' == getmac.get_mac_address(interface='em0') # Default route mocker.patch('getmac.getmac._get_default_iface_openbsd', return_value='em0') assert '08:00:27:18:64:56' == getmac.get_mac_address()
def test_openbsd_interface(mocker, get_sample): mocker.patch("getmac.getmac.WINDOWS", False) mocker.patch("getmac.getmac.DARWIN", False) mocker.patch("getmac.getmac.BSD", True) mocker.patch("getmac.getmac.OPENBSD", True) mocker.patch("getmac.getmac.FREEBSD", False) mocker.patch("getmac.getmac.LINUX", False) content = get_sample("openbsd_6/ifconfig.out") mocker.patch("getmac.getmac._popen", return_value=content) assert "08:00:27:18:64:56" == getmac.get_mac_address(interface="em0") # TODO: mock return value so we're hitting the right regex content = get_sample("openbsd_6/ifconfig_em0.out") mocker.patch("getmac.getmac._popen", return_value=content) assert "08:00:27:18:64:56" == getmac.get_mac_address(interface="em0") # Default route mocker.patch("getmac.getmac._get_default_iface_openbsd", return_value="em0") assert "08:00:27:18:64:56" == getmac.get_mac_address()
def test_darwin_interface(mocker, get_sample): mocker.patch('getmac.getmac.WINDOWS', False) mocker.patch('getmac.getmac.DARWIN', True) mocker.patch('getmac.getmac.BSD', False) mocker.patch('getmac.getmac.OPENBSD', False) mocker.patch('getmac.getmac.FREEBSD', False) mocker.patch('getmac.getmac.LINUX', False) content = get_sample('OSX/ifconfig.out') mocker.patch('getmac.getmac._call_proc', return_value=content) assert '2c:f0:ee:2f:c7:de' == getmac.get_mac_address(interface='en0')
def IpScanNetwork(Ini, End, speed): if speed == "fast": Speed = 0.3 elif speed == "low": Speed = 4 r = {} with open('return/Ips.json', 'w') as json_file: json.dump(r, json_file, indent=4) with open('return/Ips.json') as f: fre = json.load(f) inicial = IPv4Address(Ini) final = IPv4Address(End) o = 0 ips = [str(IPv4Address(ip)) for ip in range(int(inicial), int(final))] try: for ip in ips: t = ping(ip, timeout=Speed) status = False if t is None else True if status: o = o + 1 print(f'IP: {ip} [{status}]') try: eth_mac = get_mac_address(interface="eth0") win_mac = get_mac_address(interface="Ethernet 3") ip_mac = get_mac_address(ip=ip) ip6_mac = get_mac_address(ip6="::1") host_mac = get_mac_address(hostname="localhost") updated_mac = get_mac_address(ip="10.0.0.1", network_request=True) getmac.PORT = 44444 mac = getmac.get_mac_address(ip=ip, network_request=True) fabri = MacLookup().lookup(mac) result = { "Ip": ip, "Status": status, "mac": mac, "fabri": fabri } fre[f"Scan{o}"] = result except AttributeError: print('Cod: 703') return "Network Erro 02 703" with open('return/ips.json', 'w') as json_file: json.dump(fre, json_file, indent=4) json_file.close() except PermissionError: print('Cod: 359')
def scan(firs,las): address = firs + las IP = address macAddress = getmac.get_mac_address(ip=str(address)) if macAddress: addressDict = { "IP": IP, "MAC": macAddress } print("Received",IP) validAddresses.append(addressDict)
def test_windows_10_interface(benchmark, mocker, get_sample): mocker.patch('getmac.getmac.WINDOWS', True) mocker.patch('getmac.getmac.DARWIN', False) mocker.patch('getmac.getmac.BSD', False) mocker.patch('getmac.getmac.OPENBSD', False) mocker.patch('getmac.getmac.FREEBSD', False) mocker.patch('getmac.getmac.LINUX', False) mocker.patch('getmac.getmac.WSL', False) content = get_sample('windows_10/getmac.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = benchmark(getmac.get_mac_address, interface='Ethernet 2') assert '74:d4:35:e9:45:71' == result content = get_sample('windows_10/ipconfig-all.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = getmac.get_mac_address(interface='Ethernet 3') assert '74:d4:35:e9:45:71' == result content = get_sample('windows_10/wmic_nic.out') mocker.patch('getmac.getmac._call_proc', return_value=content) result = getmac.get_mac_address(interface='Ethernet 3') assert '00:ff:17:15:f8:c8' == result
def getDeviceInfo(self, request): info = dict() x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') mac = getmac.get_mac_address(ip=ip) info['ip'] = ip info['mac'] = mac return info
def test_freebsd_interface(benchmark, mocker, get_sample): mocker.patch("getmac.getmac.WINDOWS", False) mocker.patch("getmac.getmac.DARWIN", False) mocker.patch("getmac.getmac.BSD", True) mocker.patch("getmac.getmac.OPENBSD", False) mocker.patch("getmac.getmac.FREEBSD", True) mocker.patch("getmac.getmac.LINUX", False) content = get_sample("freebsd11/ifconfig_em0.out") mocker.patch("getmac.getmac._popen", return_value=content) assert "08:00:27:33:37:26" == getmac.get_mac_address(interface="em0") # Default route mocker.patch("getmac.getmac._get_default_iface_freebsd", return_value="em0") assert "08:00:27:33:37:26" == benchmark(getmac.get_mac_address)
def test_freebsd_interface(benchmark, mocker, get_sample): mocker.patch('getmac.getmac.WINDOWS', False) mocker.patch('getmac.getmac.DARWIN', False) mocker.patch('getmac.getmac.BSD', True) mocker.patch('getmac.getmac.OPENBSD', False) mocker.patch('getmac.getmac.FREEBSD', True) mocker.patch('getmac.getmac.LINUX', False) content = get_sample('freebsd11/ifconfig_em0.out') mocker.patch('getmac.getmac._call_proc', return_value=content) assert '08:00:27:33:37:26' == getmac.get_mac_address(interface='em0') # Default route mocker.patch('getmac.getmac._get_default_iface_freebsd', return_value='em0') assert '08:00:27:33:37:26' == benchmark(getmac.get_mac_address)
def scanForMac(self,last): vend = "" data = {} hopCount = 1 data["IP info"] = [] address = str(self.ipPrefix) + str(last) IP = address hostname = IP if "y" in self.traceRouteQ or "1" in self.traceRouteQ: hopCount = self.traceRoutes(IP) print("\n Scanning IP: ",IP,"\n") print(socket.getfqdn(IP)) macAddress = getmac.get_mac_address(ip=str(address)) if macAddress: vendor = self.findVendor(macAddress) try: hostname,aliasList,lanIP = socket.gethostbyaddr(socket.gethostbyname(IP)) except: hostname = "" pass addressDict = { "IP": IP, "MAC": macAddress, "Vendor":vendor, "Hostname":hostname, "Hops":hopCount } print("Received",IP) print(addressDict) validAddresses["Devices"].append(addressDict)
def get_mac_address_list(ip_address='192.168.1.1', i_range=[1, 255], hide_empty_macs=False, hide_device_names=False) -> list: device_parser = manuf.MacParser(update=False) mac_address_list = [] ip_parts = ip_address.split('.') get_device_ip() for iter in range(i_range[0], i_range[1]): current_ip = f'{ip_parts[0]}.{ip_parts[1]}.{ip_parts[2]}.{iter}' mac_addr = get_mac_address(ip=current_ip, network_request=True) mac_dict = {'ip': current_ip, 'mac': mac_addr, 'device': None} if mac_addr != '00:00:00:00:00:00' and mac_addr != None: device_name = device_parser.get_manuf_long(str(mac_addr)) if device_name != None: mac_dict['device'] = "Not Available" mac_address_list.append(mac_dict) elif (hide_device_names != True): mac_dict['device'] = "Not available" mac_address_list.append(mac_dict) elif (hide_empty_macs != True): mac_dict['mac'] = "00:00:00:00:00:00" mac_dict['device'] = "Not available" mac_address_list.append(mac_dict) elif (current_ip == get_device_ip()): mac_addr = getmac.get_mac_address( network_request=False, interface=current_network_interface) device_name = device_parser.get_manuf_long(str(mac_addr)) mac_dict[ 'ip'] = f'{ip_parts[0]}.{ip_parts[1]}.{ip_parts[2]}.{iter}' mac_dict['device'] = "Not available" mac_dict['mac'] = mac_addr mac_address_list.append(mac_dict) print('ARP table len: ', len(mac_address_list)) return mac_address_list
from getmac import getmac from getmac import get_mac_address from mac_vendor_lookup import MacLookup eth_mac = get_mac_address(interface="eth0") win_mac = get_mac_address(interface="Ethernet 3") ip_mac = get_mac_address(ip="192.168.0.103") ip6_mac = get_mac_address(ip6="::1") host_mac = get_mac_address(hostname="localhost") updated_mac = get_mac_address(ip="10.0.0.1", network_request=True) getmac.PORT = 44444 mac = getmac.get_mac_address(ip="192.168.0.103", network_request=True) fabri = MacLookup().lookup(str(mac)) print(mac) print(fabri)
def getMac(): macAdd = getmac.get_mac_address() showinfo("MAC Address", f'MAC address is: {macAdd}')
def mac(): mac_add = getmac.get_mac_address() showinfo("MAC Address", f"MAC Address : {mac_add}")
from getmac import get_mac_address eth_mac = get_mac_address(interface="eth0") win_mac = get_mac_address(interface="Ethernet 3") ip_mac = get_mac_address(ip="192.168.0.1") #ip6_mac = get_mac_address(ip6="::1") host_mac = get_mac_address(hostname="localhost") updated_mac = get_mac_address(ip="10.0.0.1", network_request=True) # Enabling debugging from getmac import getmac getmac.DEBUG = 2 # DEBUG level 2 print(getmac.get_mac_address(interface="Ethernet 3")) # Changing the port used for updating ARP table (UDP packet) from getmac import getmac getmac.PORT = 44444 # Default: 55555 print(get_mac_address(ip="192.168.0.1", network_request=True))
#!/usr/bin/env python3 from lib.packet import Ether, ICMP, TCP, IPv4, ARP from lib.helper import ETH_P_IP, ETH_P_ARP, ETH_P_ALL, Unpacker import socket import netifaces from getmac import getmac s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(ETH_P_ALL)) source = netifaces.ifaddresses('ens33')[netifaces.AF_INET][0]['addr'] sourceMac = netifaces.ifaddresses('ens33')[netifaces.AF_LINK][0]['addr'] dest = '192.168.1.106' destMac = getmac.get_mac_address(ip=dest, network_request=True) eth = Ether(sourceMac, destMac) ip = IPv4(source, dest) icmp = ICMP() eth_p = eth.packet(ETH_P_IP) icmp_p = icmp.packet(8, 0) ip_p = ip.packet(socket.IPPROTO_ICMP, 64, icmp_p) s.bind(('ens33', 0)) s.send(eth_p + ip_p + icmp_p) u = Unpacker(eth_p + ip_p + icmp_p) print(u.icmp())
def arp_mac_lookup(host): mac = getmac.get_mac_address(ip=str(host), network_request=True) print("host: ", str(host), "mac: ", mac) return str(mac)
def get_mac(): #return mac #retorna o mac return get_mac_address()
def macaddress(): addmac = getmac.get_mac_address() return f"MAC Address : {addmac}"