公共wifi做家用
by Kyle McDonald
凯尔·麦克唐纳(Kyle McDonald)
如何在公共网络上获得免费的wifi (How to get free wifi on public networks)
This short tutorial describes a few methods for gaining access to the internet, a basic human right, from public wireless networks.
本简短的教程介绍了几种从公共无线网络访问Internet( 一项基本人权)的方法 。
This tutorial has been tested on Mac, should work on Linux, and hasn’t been tested on Windows.
本教程已在Mac上进行了测试,应在Linux上运行,并且尚未在Windows上进行测试。
制备 (Preparation)
Make sure you do this step before you are stuck without Internet access.
确保在无法访问Internet 之前就执行此步骤。
Install Python pip.
安装Python pip 。
Make a copy of this repository and install dependencies for the script we will be using:
复制此存储库并为将要使用的脚本安装依赖项:
git clone https://github.com/kylemcdonald/FreeWificd FreeWifi && pip install -r requirements.txt
如何获得更多时间 (How to get additional time)
If you had free internet access but your time has run out, the first thing to try is open an incognito/private window. Here are instructions for a few browsers:
如果您可以免费上网,但时间用完了,那么第一件事就是打开隐身/私人窗口。 以下是一些浏览器的说明:
Chrome (mobile and desktop)
Chrome (移动和台式机)
Safari for iOS
适用于iOS的Safari
Safari for Mac
Mac版Safari
Microsoft Edge
微软Edge
An incognito/private window will temporarily clear any cookies that may have been used for tracking how much time you spent online, making you look like a “new user” and allowing you to log into the wireless portal again.
隐身/私人窗口将暂时清除可能用于跟踪您在网上花费了多少时间的所有cookie,使您看起来像“新用户”,并允许您再次登录无线门户。
Unfortunately, most systems track MAC addresses instead of cookies. A MAC address is a unique identifier assigned to every network interface. This means you need to get a new MAC address to get additional time. Fortunately, MAC addresses can be changed in software, without swapping the hardware. The spoof-mac
command line utility makes this easy by entering sudo spoof-mac randomize Wi-Fi
. If the command fails to run, try entering spoof-mac list --wifi
to check what the name of your wireless device is first, and use that manually. After randomizing your MAC, try logging into the wireless portal again. When you're done using the Internet, run sudo spoof-mac reset Wi-Fi
to reset your MAC address.
不幸的是,大多数系统跟踪MAC地址而不是cookie。 MAC地址是分配给每个网络接口的唯一标识符。 这意味着您需要获取一个新的MAC地址以获取更多时间。 幸运的是,无需更改硬件即可在软件中更改MAC地址。 spoof-mac
命令行实用程序通过输入sudo spoof-mac randomize Wi-Fi
使此操作变得容易。 如果命令运行失败,请尝试输入spoof-mac list --wifi
以首先检查无线设备的名称,然后手动使用该名称。 随机分配MAC之后,尝试再次登录无线门户。 使用完互联网后,请运行sudo spoof-mac reset Wi-Fi
以重置您的MAC地址。
Note that MAC address spoofing may be interpreted as an illegal activity depending on why you do it. In some cases it is certainly not illegal: recent mobile operating systems like iOS 8+ and Android 6+ automatically randomize their MAC address when searching for wireless networks to avoid being tracked. But when Aaron Swartz liberated JSTOR, MAC address spoofing was claimed as a signal of intention to commit a crime.
请注意,MAC地址欺骗可能会被解释为非法活动,具体取决于您执行此操作的原因。 在某些情况下,这当然不是违法的:iOS 8+和Android 6+等最新的移动操作系统在搜索无线网络时会自动随机分配其MAC地址,以避免被跟踪。 但是,当亚伦·斯沃茨(Aaron Swartz)解放JSTOR时 ,MAC地址欺骗被声称是意图犯罪的信号。
如何获得免费使用权 (How to get free access)
If the network is open, but you can’t get access for some reason, you can also try spoofing the MAC address of a device that is already using the network. To the router, your device and the other device will look like one device. This can cause some minor problems if they interrupt each other, but for light browsing it usually works out fine.
如果网络是开放的,但由于某种原因而无法访问,则还可以尝试欺骗已经在使用网络的设备的MAC地址。 对于路由器,您的设备和另一台设备看起来就像一个设备。 如果它们互相干扰,可能会引起一些小问题,但是对于轻度浏览来说,通常情况下是可以的。
To find the MAC addresses of other devices using the network, first you need to connect to the network. You don’t need to have Internet access, just a connection. First, on Mac OS run the command sudo chmod o+r /dev/bpf*
once to make sure you can sniff wireless data (you need to do this again if you restart your computer).
要查找使用网络的其他设备的MAC地址,首先需要连接到网络。 您无需连接互联网,只需连接即可。 首先,在Mac OS上,运行一次命令sudo chmod o+r /dev/bpf*
,以确保可以嗅探无线数据(如果重新启动计算机,则需要再次执行此操作)。
Then in your terminal, run the command python wifi-users.py
. You should see a progress bar immediately:
然后在您的终端中,运行命令python wifi-users.py
。 您应该立即看到一个进度条:
SSID: nonoinflightGateway: 00:e0:4b:22:96:d9100%|██████████████████████████| 1000/1000 [00:46<00:00, 21.46it/s]Total of 5 user(s):27:35:96:a8:66:7f 6359 bytes36:fe:83:9c:35:eb 9605 bytes65:01:3c:cc:20:e8 17306 bytes8c:6f:11:2c:f0:ee 20515 bytes0a:4f:b2:b8:e8:56 71541 bytes
If there isn’t much traffic on the network, it might take longer. If it’s taking too long, type CTRL-C
to cancel the sniffing and print whatever results are available. Finally, we want to spoof one of these MAC addresses. For example, in this case we would enter sudo spoof-mac set 0a:4f:b2:b8:e8:56 Wi-Fi
to try spoofing the address with the most traffic (they probably have a connection).
如果网络上没有太多流量,则可能需要更长的时间。 如果花费的时间太长,请键入CTRL-C
来取消嗅探并打印任何可用的结果。 最后,我们要欺骗这些MAC地址之一。 例如,在这种情况下,我们将输入sudo spoof-mac set 0a:4f:b2:b8:e8:56 Wi-Fi
尝试对流量最多的地址(它们可能有连接)进行欺骗。
After running this command, try to access the Internet. If you don't have a connection, try the next MAC in the list. If your Internet connection drops out while using this MAC address, try disconnecting and reconnecting to the wireless network. Note that the original user of the MAC you copied may experience these same connection drop outs if you are both actively using the network.
运行此命令后,尝试访问Internet。 如果没有连接,请尝试列表中的下一个MAC。 如果使用此MAC地址时Internet连接断开,请尝试断开连接并重新连接到无线网络。 请注意,如果您都同时使用网络,则复制的MAC的原始用户可能会遇到相同的连接中断。
这个怎么运作 (How it works)
wifi-users.py
uses tcpdump
to collect wireless packets. Then we look through these packets for any hints of the MAC address (BSSID) of our wireless network. Finally, we look for data packets that mention a user's MAC as well as the network BSSID (or the network gateway), and take note of that MAC using some amount of data. Then we sort the user's MACs by the total amount of data and print them out.
wifi-users.py
使用tcpdump
收集无线数据包。 然后,我们在这些数据包中查找无线网络的MAC地址(BSSID)的任何提示。 最后,我们寻找提及用户MAC以及网络BSSID(或网络网关)的数据包,并使用一些数据记录该MAC。 然后,我们根据数据总量对用户的MAC进行排序并打印出来。
Instead of sniffing wireless traffic, in some situations you can also use the command arp -a
to get a list of MAC addresses of devices on the wireless network. Then you can either use spoof-mac
to copy the address, or use ifconfig
directly on Linux and OSX. For the specifics of using ifconfig
look at the implementations of set_interface_mac
inside SpoofMac's interfaces.py.
在某些情况下,您也可以使用命令arp -a
来获取无线网络上设备的MAC地址列表,而不是嗅探无线流量。 然后,您可以使用spoof-mac
复制地址,或直接在Linux和OSX上使用ifconfig
。 对于使用的具体ifconfig
看的实现set_interface_mac
内SpoofMac的interfaces.py 。
This post is dedicated to Lauren McCarthy, who has taught me the most about the art of getting a good deal.
这篇文章是献给劳伦·麦卡锡(Lauren McCarthy)的,他教会了我有关如何达成一笔交易的最大知识。
翻译自: https://www.freecodecamp.org/news/free-wifi-on-public-networks-daf716cebc80/
公共wifi做家用