python绝技 — 扫描蓝牙RFCOMM信道
RFCOMM协议
RFCOMM通过蓝牙L2CAP协议模拟了RS232串口。这会与另一台设备建立一个蓝牙连接,模拟一条普通的串行线缆,使用户能够用其他设备控制这一台设备,通过蓝牙打电话,发短信,读取手机通讯录,以及转接或上网等功能。
我们编写一个扫描器,找出允许未经认证建立RFCOMM通道的设备。
代码
#!/usr/bin/env python #--*--coding=utf-8--*-- #P191 #sudo pip install pybluez import time from bluetooth import * def rfcommCon(addr,port): sock = BluetoothSocket(RFCOMM) try: sock.connect((addr,port)) print "[+] RFCOMM port : " +str(port)+' open' sock.close() except Exception,e: print '[-] RFCOMM port :' +str(port)+' closed' for port in range(1,30): rfcommCon('FE:XX:XX:XX:XX:57',port)
思路:我们创建一个RFCOMM类型的蓝牙套接字(BluetoothSocket),接下来我们向 connect() 函数传递一个含有MAC地址和目标端口的元组。如果连接成功,即可知道目标RFCOMM通道是否开发并是否处于监听状态。如果函数抛出异常,说明无法建立连接。
运行结果
声明:
作者:ssooking 联系邮箱:c3Nvb2tpbmdAeWVhaC5uZXQ=
若无特殊说明,所发博文皆为原创,转载请务必注明出处、保留原文地址。欢迎交流分享!如果您有任何问题,请联系我!
作者:ssooking 联系邮箱:c3Nvb2tpbmdAeWVhaC5uZXQ=
若无特殊说明,所发博文皆为原创,转载请务必注明出处、保留原文地址。欢迎交流分享!如果您有任何问题,请联系我!