개요
BlueRanger는 Bluetooth 링크 품질을 사용하여, Bluetooth 장치와의 거리 대략적으로 판단할 수 있도록 도와주는 간단한 BASH 스크립트이다. Bluetooth 인터페이스 간의 연결을 만들 L2CAP (Bluetooth) 핑을 보낸다.
테스트 환경
운영 체제 (OS) : BackTrack5 R3 |
상세 분석
BlueRanger를 실행 하기 위해서는 아래와 같은 도구가 같이 설치되어 있어야 한다.
- BlueZ
- hcitool
- l2ping
아래는 BlueRanger를 처음 실행한 화면이다.
<hciX> 블루투스 인터페이스 <bdaddr> 연결하고자 하는 블루투스 장치의 MAC Address |
BlueRanger를 사용하기 위해서는 사전에 블루투스 장치의 MAC Address를 스캔하여 알고 있어야 한다.
블루투스 장치를 스캔하는 방법은 생략하겠다.
BlueRanger 사용 방법은 아래와 같다.
./blueranger.sh hci0(블루투스 인터페이스) 64:20:0c:24:f2:1e (연결하고하는 블루투스 장치의 MAC Address |
위와 같이 명령어를 입력하면, BlueRanger는 해당 MAC Address로 L2CAP Ping을 보낸다. L2CAP Ping을 받은 블루투스 장치는 잘받았다는 응답을 보내게 된다. 응답을 보내게 되면 BlueRanger는 아래와 같은 결과를 보여준다.
Locating : 블루투스 장치의 이름과 MAC Address
Ping Count : 블루투스 장치로 보낸 L2CAP Ping의 갯수
Proximity Change : 블루투스 장치가 근처에 있는지 알려줌
Link Quality : 링크 품질 (255가 가장 좋은 신호)
Range : 블루투스 장치와의 거리를 *를 이용하여 대략적으로 보여줌
BlueRanger의 핵심적인 역할을 하는 소스 코드 부분을 살펴보면, 다음과 같다.
l2ping -i $HCI -c 1 $RM_ADDR | grep NULL; LQ=`hcitool -i $HCI lq $RM_ADDR | grep Link | awk '{print $3}'`PING_COUNT=$(($PING_COUNT+1)) |
블루투스 장치로 l2ping을 이용하여 Ping을 보내는 동시에, hcitool을 이용 블루투스 장치와의 링크품질을 표시 한다.
[BackTrack5 R2] RedFang (0) | 2013.02.04 |
---|---|
[BackTrack5 R2] Sqlsus (0) | 2013.02.04 |
[BackTrack5 R3] Apache-users (0) | 2013.02.04 |
[BackTrack5 R3] URLCrazy (0) | 2013.02.04 |
[BackTrack5 R1] dnsrecon 원리분석 (소스코드분석) (0) | 2013.02.04 |