파이썬(Python)/화이트해킹,침투테스트(Hack,Penetration)

Python으로 wifi 주소 확인하고 비밀번호 입력하여 연결하기 (윈도우 환경)

끄적끄적아무거나 2021. 8. 1. 09:53
반응형

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 쉘을 통해 연결을 완료 하였다.

반응형