zoukankan      html  css  js  c++  java
  • 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通道是否开发并是否处于监听状态。如果函数抛出异常,说明无法建立连接。

    运行结果

  • 相关阅读:
    论文连接
    MySQL中的datetime与timestamp比较
    查看挂载情况
    insertable = false, updatable = false的使用
    umount: /home: device is busy
    LVM
    erase-credentials配置
    <T> List<T>前面<T>的意思
    Java 内部类 this
    AuthenticationManager, ProviderManager 和 AuthenticationProvider
  • 原文地址:https://www.cnblogs.com/ssooking/p/6109150.html
Copyright © 2011-2022 走看看