1. MAC 주소가져오기
adb shell cat /sys/class/net/wlan0/address
xx:xx:xx:xx:xx:xx
2. WIFI 연결 정보 가져오기
adb shell dumpsys wifi
<AP에 연결된 상태>
Wi-Fi is enabled
Stay-awake conditions: 0
Internal state:
current HSM state: ConnectedState
mLinkProperties InterfaceName: wlan0 LinkAddresses: [192.168.0.21/24,] Routes: [0.0.0.0/0 -> 192.168.0.1,] DnsAddresses: [168.126.63.1,168.126.63.2,] HttpProxy: [ProxyProperties.mHost == null]
mWifiInfo SSID: 접속된 AP의 SSID, BSSID: xx:xx:xx:xx:xx:xx, MAC: xx:xx:xx:xx:xx:xx, Supplicant state: COMPLETED, RSSI: -54, Link speed: 72, Net ID: 0, Explicit connect: false
mDhcpInfoInternal addr: 192.168.0.21/24 mRoutes: 0.0.0.0/0 -> 192.168.0.1 | dns: 168.126.63.1,168.126.63.2 dhcpServer: 192.168.0.1 leaseDuration: 7200
mNetworkInfo NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true
mLastSignalLevel 3
mLastBssid xx:xx:xx:xx:xx:xx
mLastNetworkId 0
mReconnectCount 0
mIsScanMode false
Supplicant status
bssid=xx:xx:xx:xx:xx:xx
ssid=접속된 AP의 SSID
id=0
mode=station
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=192.168.0.21
address=xx:xx:xx:xx:xx:xx
...
이하생략
<Soft AP 상태>
Wi-Fi is disabled
Stay-awake conditions: 0
Internal state:
current HSM state: TetheredState
mLinkProperties LinkAddresses: [] Routes: [] DnsAddresses: []
mWifiInfo SSID: <none>, BSSID: <none>, MAC: xx:xx:xx:xx:xx:xx, Supplicant state: COMPLETED, RSSI: -200, Link speed: -1, Net ID: -1, Explicit connect: false
mDhcpInfoInternal addr: 192.168.0.21/24 mRoutes: 0.0.0.0/0 -> 192.168.0.1 | dns: 168.126.63.1,168.126.63.2 dhcpServer: 192.168.0.1 leaseDuration: 7200
mNetworkInfo NetworkInfo: type: WIFI[], state: DISCONNECTED/DISCONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: false
mLastSignalLevel 2
mLastBssid null
mLastNetworkId -1
mReconnectCount 0
mIsScanMode false
Supplicant status
null
...
이하 생략
3. 설정파일 직접 읽기
현재까지 2번의 방법으로는 핫스팟이 설정된 디바이스 자체의 SSID를 가져올 수 없는 것으로 파악되었다. 즉, mWifiInfo 에 표시되는 SSID가 <none>으로 출력되어 식별할 수 없는 상태이다. 따라서 아래와 같이 직접 hostapd의 설정 파일인 hostapd.conf 파일을 직접 읽어들이는 방법을 찾아 냈다.
기본 명령은 adb shell cat /data/misc/wifi/hostapd.conf 이지만, 해당 경로와 설정파일에 루트 권한이 있어야 접근이 가능하다. 따라서, 아래와 같이 super user 권한을 주고 실행되도록 한다.
adb shell "su -c 'cat /data/misc/wifi/hostapd.conf'"
...
중략
...
ssid=핫스팟SSID
wpa=2
wpa_passphrase=핫스팟비밀번호
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
'안드로이드' 카테고리의 다른 글
Android Studio 없이 platform-tools (adb, fastboot, systrace 포함) 만 다운로드 하는 방법 (0) | 2018.07.22 |
---|---|
안드로이드 ADB 명령어 정리 (0) | 2017.06.22 |
DOWNLOADS: SOFTWARE & DOCUMENTS (0) | 2017.04.07 |
API DOCUMENTATION (0) | 2017.04.07 |
DEVELOPING ANT IN ANDROID (0) | 2017.04.07 |