自己想讓cubieboard通過公共wifi的短信認證,但只能通過ssh登陸到cubieboard里的linux系統,無法直接訪問短信認證頁面,因而想間接地在PC上通過cubieboard的網絡來間接地進行,故而有以下操作。此處記一筆。
1, 命令行配置連接wifi
具體我是用的cubieboard2上Debian主機,其中配置wifi的命令行有wpa_cli,具體用法步驟如下。
wpa_cli 命令行執行需要root權限,詳細用法請見 wpa_cli -h
1) 先查看由哪些wifi熱點可用,如下
root@cubieboard2:~# wpa_cli scan
root@cubieboard2:~# wpa_cli scan_result
Selected interface 'wlan2'
bssid / frequency / signal level / flags / ssid
58:6a:b1:29:d7:f1 2437 -45 [ESS] i-hangzhou
... <其他> ...
root@cubieboard2:~# wpa_cli scan_results | grep Air-xihu
58:6a:b1:29:d7:f2 2437 -47 [ESS] Air-xihu
3c:8c:40:d7:40:f2 2437 -64 [ESS] Air-xihu
root@cubieboard2:~#
2) 選擇一個熱點並進行連接配置
此處使用的無線網卡接口名為 wlan2 ,此處選擇 Air-xihu 這個熱點,命令如下
wpa_cli -i wlan2 add_network # 為這個熱點新增一個network,記住其命令返回值供后用,此處為1
wpa_cli -i wlan2 set_network 1 ssid "Air-xihu" # 配置熱點的SSID
wpa_cli -i wlan2 set_network 1 key_mgmt NONE # 由於是沒有密碼,是通過手機短信來認證的,此處指定key模式為NONE
wpa_cli -i wlan2 enable_network 1 # 使能激活這個network
wpa_cli -i wlan2 select_network 1 # 選用這個network進行通信,並禁用其他
dhclient wlan2 # 在無線網卡接口上發起dhcp請求,獲取IP地址
上面的命令行 set_network ssid 步驟可能會報 FAIL 先不用管
3) 查看連接結果,如下
root@cubieboard2:~# wpa_cli status
Selected interface 'wlan2'
bssid=58:6a:b1:29:d7:f2
ssid=Air-xihu
id=1
mode=station
pairwise_cipher=NONE
group_cipher=NONE
key_mgmt=NONE
wpa_state=COMPLETED
ip_address=29.114.71.34
address=c8:e7:d8:cb:e9:66
root@cubieboard2:~#
wpa_state 是 COMPLETED ,並且已經獲取到IP地址,表明wifi熱點連接成功
2, 開啟ssh的socks代理
1) 如果使用xshell作為終端工具,可以在會話屬性 -> SSH -> 隧道,添加配置一個socks代理,其他終端工具類似。
2) 如果直接使用ssh命令行,則可通過 ssh -fC2qTnN -D 8080 <ip:port> 開啟一個socks代理,其中
-f 表示后台運行
-C 表示啟用壓縮,可以不開啟
-2 表示啟用第二版ssh協議
-q 表示靜默模式
-T 表示禁用交互shell
-n 表示將stdin重定向到 /dev/null ,即不接受控制台輸入
-N 表示不執行遠端命令
-D 表示開啟本地socks代理端口轉發,后端的端口為本地監聽端口,當前支持socks4/socks5
后續在PC瀏覽器中配置使用剛才開啟的socks代理即可,本篇博文即是通過代理發布。
~~~ end ~~~