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通道是否開發並是否處於監聽狀態。如果函數拋出異常,說明無法建立連接。

 

運行結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM