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通道是否開發并是否處于監聽狀态。如果函數抛出異常,說明無法建立連接配接。
運作結果
