def scan(self): """ Scan for BLE devices in the proximity. :return: """ TLog.generic("Scanning BLE devices for {} second(s)".format( self.args.timeout)) try: devices = Ble.scan(iface=self.args.iface, tout=self.args.timeout) for device in devices: self.found = True TLog.success("(name={})(address={})".format( device.getValueText(Ble.ADTYPE_NAME) or "Unknown", device.addr)) if self.args.verbose is True: TLog.success(" (rssi={}dB)".format(device.rssi)) TLog.success(" (connectable={})".format( device.connectable)) for scan_data in device.getScanData(): TLog.success(" ({}={})".format( scan_data[1], scan_data[2])) except: # noqa: E722 self.reason = "Exception caught: {}".format(sysexcinfo()) if self.found is False and self.reason is None: self.reason = "No BLE devices found"
def execute(self): try: if self.args.addr: TLog.generic("Tapplock BLE Address specified ({})".format( self.args.addr)) self.unlock(self.args.addr) else: TLog.generic("Scanning for Tapplocks") devs = Ble.scan(iface=self.args.iface, tout=self.args.timeout) for d in devs: name = d.getValueText(Ble.ADTYPE_NAME) if name is not None and name[0:6] == self.TNAMEPREFIX: TLog.success("Found Tapplock (name={})(mac={})".format( name, d.addr)) self.unlock(d.addr) except: self.result.exception()
def execute(self): """Execute the test.""" try: if self.args.addr: TLog.generic( "Tapplock BLE Address specified ({})".format(self.args.addr) ) self.unlock(self.args.addr) else: TLog.generic("Scanning for Tapplocks...") devices = Ble.scan(iface=self.args.iface, tout=self.args.timeout) for device in devices: name = device.getValueText(Ble.ADTYPE_NAME) if name is not None and name[0:6] == self.TNAMEPREFIX: TLog.success("Found Tapplock") self.unlock(device.addr, name=name) except: # noqa: E722 self.result.exception()
def execute(self): """ Execute the plugin. Scan for BLE devices in the proximity. Returns: Nothing """ found = False TLog.generic("Scanning BLE devices for {} second(s)".format( self.args.timeout)) try: devices = Ble.scan(iface=self.args.iface, tout=self.args.timeout) for device in devices: found = True outdict = { "name": device.getValueText(Ble.ADTYPE_NAME) or "Unknown", "addr": device.addr, "addrtype": device.addrType, "rssi": "{} dBm".format(device.rssi), "connectable": device.connectable, "adtype_data": [] } for scan_data in device.getScanData(): outdict["adtype_data"].append({ "adtype": scan_data[0], "description": scan_data[1], "value": scan_data[2] }) self.output_handler(**outdict) except: # noqa: E722 self.result.setstatus(passed=False, reason="Exception caught: {}".format( sysexcinfo())) if found is False: TLog.fail("No BLE devices found")