반응형
Python으로 wifi 주소 확인하고 비밀번호 입력하여 연결하기
앞서 블로그에서 wifi 주소 확인할 때 윈도우에 이미 비밀번호가 저장된 환경에서 파이썬으로 접속하였다. 아래 링크 참조하길 바란다.
https://scribblinganything.tistory.com/243
만일 저장된 비밀번호를 확인하는 파이썬 코드를 보고 싶다면 아래 링크를 참조하길 바란다.
https://scribblinganything.tistory.com/190
이번 장에는 wifi에 새로운 프로필에 접속시 처음으로 비밀번호를 입력해야 하는 경우 와이파이 SSID 주소와 비밀번호를 입력해서 접속하는 코드이다.
코드>>
import os
os.system("netsh wlan show networks interface=Wi-Fi")
Selected_SSID = input('접속을 원하는 SSID를 입력하세요 :')
Selected_PW = input('접속을 원하는 SSID의 비밀번호를 입력하세요 :')
config =
"""<?xml version=\"1.0\"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>"""+Selected_SSID+"""</name>
<SSIDConfig>
<SSID>
<name>"""+Selected_SSID+"""</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<MSM>
<security>
<authEncryption>
<authentication>WPA2PSK</authentication>
<encryption>AES</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>false</protected>
<keyMaterial>"""+Selected_PW+"""</keyMaterial>
</sharedKey>
</security>
</MSM>
</WLANProfile>"""
with open(Selected_SSID+".xml", 'w') as file:
file.write(config)
os.system("netsh wlan add profile filename=\""+Selected_SSID+".xml\""+" interface=Wi-Fi")
try:
os.system("netsh wlan connect name=\""+Selected_SSID+"\" ssid=\""+Selected_SSID+"\" interface=Wi-Fi")
except:
print("Error")
결과>>
인터페이스 이름: Wi-Fi 현재 12개 네트워크를 볼 수 있습니다.
SSID 1 : U+NetAD88_5G 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 2 : iptime0234 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 3 : DIRECT-51-SA23423FW 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 4 : 123415 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 5 : [fridge]_E30AJT23475Z 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 6 : U+NetAD88 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 7 : U+Net7D15 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 8 : 네트워크 종류 : 인프라 인증 : WPA-개인 암호화 : TKIP
SSID 9 : TP-Li234059 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 10 : AT_402_AIR_234234ad99 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 11 : 1234231 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
SSID 12 : 12342343 네트워크 종류 : 인프라 인증 : WPA2-개인 암호화 : CCMP
접속을 원하는 SSID를 입력하세요 :U+NetAD88_5G
접속을 원하는 SSID의 비밀번호를 입력하세요 :DD2352345
Wi-Fi 인터페이스에 U+NetAD88_5G 프로필이 추가되었습니다. 연결 요청을 완료했습니다.
주석>>
코드에서 보듯이 새로운 무선인터넷 프로필 연결을 위해서 XML에 접속 프로필 정보를 입력하고 XML을 전달하여 연결하는 방식을 사용한다.
XML 접속 방식은 구글 검색을 통해서 가져왔다. 그리고 해당 XML에 SSID와 비밀번호를 입력하였고 netsh 쉘을 통해 연결을 완료 하였다.
반응형
'파이썬(Python) > 화이트해킹,침투테스트(Hack,Penetration)' 카테고리의 다른 글
Python 버퍼보다 큰 데이터 주고받기 (패킷 보내기, 받기) (0) | 2021.08.07 |
---|---|
python socket이란? AF_INET, SOCK_STREAM 의미, 간단하게 텍스트 주고 받는 서버 만들기 (0) | 2021.08.04 |
Python으로 wifi 주소 확인하고 연결하기 (윈도우 환경) (0) | 2021.07.31 |
Python 에서 Nmap 설치 하고 네트워크 검색(port)해보기(설치시 에러 해결) (0) | 2021.07.23 |
파이썬 scapy 모듈에서 에러메세지 발생할 때 해결방법 (네트워크 scanner) (0) | 2021.07.02 |