歡迎關(guān)注微信公眾號:羽林君,或者添加作者個人微信:become_me
wpa_cli wpa_supplicant命令 使用
這兩個工具使用是用來進行手動配置網(wǎng)絡(luò)的,平時遇到非UI界面的設(shè)備,機器本身聯(lián)網(wǎng)機制比較復(fù)雜的時候,我們可以使用wpa工具進行手動聯(lián)網(wǎng)(前提是設(shè)備里面支持)。
Wireless Tools、wpa_supplicant是兩種無線網(wǎng)絡(luò)配置工具,這里我使用了wpa_supplicant工具。
wpa_supplicant 是 wifi 客戶端(client)加密認證工>具,并且是一個開源的項目,已經(jīng)被移植到 Linux、Windows 以及很多嵌入式系統(tǒng)上。它是 WPA 的應(yīng)用層認證客戶端,負責完成認證相關(guān)的登錄、加密等工作。
wpa_supplicant是一個連接、配置WIFI的工具,它主要包含wpa_supplicant與wpa_cli兩個程序。wpa_supplicant是服務(wù)端,wap_cli是客戶端,一般情況下使用wpa_cli就可以操作WiFi。但是它不支持所有的驅(qū)動,可以瀏覽wpa_supplicant網(wǎng)站獲得它所支持的驅(qū)動列表。另外,wpa_supplicant目前只能連接到那些你已經(jīng)配置好SSID的無線網(wǎng)絡(luò),也就是使用前需要配置好wpa_supplicant的配置文件wpa_supplicant.conf
wpa_supplicant 和 wpa_cli 的關(guān)系就像服務(wù)和客戶端的關(guān)系,后臺運行 wpa_supplicant,使用 wpa_cli 來搜索、設(shè)置、和連接網(wǎng)絡(luò)。不過 wpa_cli 并不是必須的軟件。
wpa_supplicant 是一個獨立運行的守護進程,其核心是一個消息循環(huán),在消息循環(huán)中處理 WPA 狀態(tài)機、控制命令、驅(qū)動事件、配置信息等。
wpa_cli 有命令和交互的方式進行操作
wpa_cli?-i?wlan0?scan??????????????//搜索附件wifi熱點
wpa_cli?-i?wlan0?scan_result???//顯示搜索wifi熱點
wpa_cli?-i?wlan0?status??????????????//當前WPA/EAPOL/EAP通訊狀態(tài)
執(zhí)行操作示例:我進行了一個網(wǎng)絡(luò)的斷開和重連
wpa_cli?-i?wlan0?disable_network??0?//???與network?id?0的網(wǎng)絡(luò)斷開
wpa_cli?-i?wlan0?list_network????//列舉保存過得連接
wpa_cli?-i?wlan0?enable_network???0?//使能制定的ssid??network?id?0
wpa_cli?-i?wlan0?select_network??<network?id>??//連接指定的ssid?
wpa_cli?-i?wlan0?remove_network??<network?id>??//將指定的網(wǎng)絡(luò)移除掉,必須先斷開才行?
wpa_cli?-i?wlan0?save_config???//信息保存到默認的配置文件中,/etc/wpa_supplicant.conf
斷開連接
除此之外,我還會進行wpa_supplicant.conf配置文件的修改,來配合聯(lián)網(wǎng)和斷網(wǎng),其中修改用vim操作,聯(lián)網(wǎng)使用wpa_supplicant
命令。
ifconfig?wlan0?up?//打開wlan0
wpa_supplicant?-B?-D?nl80211?-i?wlan0?-c?/etc/wpa_supplicant.conf?//指定.conf?配置文件連接
?
除了我這里簡單的描述使用,大家也可以參考更詳細的文章:https://www.cnblogs.com/hokori/p/14168584.html
fuser、netstat、lsof端口占用查看工具使用
上面是網(wǎng)絡(luò)的連接,很多時候我們還要查看網(wǎng)絡(luò)端口占用的情況,下面有三個linux工具可以參考:
fuser可以顯示出當前哪個程序在使用磁盤上的某個文件、掛載點、甚至網(wǎng)絡(luò)端口,并給出程序進程的詳細信息。
netstat 命令用于顯示各種網(wǎng)絡(luò)相關(guān)信息,如網(wǎng)絡(luò)連接,路由表,接口狀態(tài) (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
lsof 命令可以查看進程打開的文件、目錄,還可以查看進程監(jiān)聽的端口等 socket 相關(guān)的信息。
fuser 查看端口占用
ps?$(fuser???6666/tcp)?組合ps查看進程信息
fuser???6666/tcp?//查看tcp端口占用進程
fuser???6000/udp?//查看udp端口占用進程
netstat 查看端口占用
netstat?-tunlp?|?grep?40999?//?查看端口占用
-t?(tcp)?僅顯示tcp相關(guān)選項
-u?(udp)僅顯示udp相關(guān)選項
-n?拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化為數(shù)字
-l?僅列出在Listen(監(jiān)聽)的服務(wù)狀態(tài)
-p?顯示建立相關(guān)鏈接的程序名???????
sudo lsof -i:6000
或者使用lsof -i
查看全部端口占用這樣我們知道了進程占用的端口。以上這三者工具都有豐富的功能,我只是使用的它們其中一些功能,詳細可以參考這些文章
更詳細的使用大家也可以自行搜索。
tcpdump使用
端口占用工具使用之后,我們需要進行更深層次的數(shù)據(jù)分析,這個時候我們需要進行網(wǎng)絡(luò)tcp和udp層次的數(shù)據(jù)分析,這個時候有很多工具例如Wireshark、Network Monitor和tcpdump,今天主要介紹tcpdump的使用。
tcpdump 是一款強大的網(wǎng)絡(luò)抓包工具,它使用 libpcap 庫來抓取網(wǎng)絡(luò)數(shù)據(jù)包,這個庫在幾乎在所有的 Linux/Unix 中都有。
它的命令組合起來很豐富,今天只是介紹幾個工作中使用的命令,詳細大家可以參考這篇文章:https://juejin.cn/post/6844904084168769549
我們會多的使用tcpdump的基本數(shù)據(jù)命令,但是有時候我們需要詳細信息打印的捕獲比較,這個時候有以下命令可以幫助我們在終端上詳細輸出信息:
tcpdump?udp?port?18290?-XX?-vvv?-nn
-v:當分析和打印的時候,產(chǎn)生詳細的輸出。
-vv:產(chǎn)生比-v更詳細的輸出。
-vvv:產(chǎn)生比-vv更詳細的輸出。
-XX:輸出包的頭部數(shù)據(jù),會以16進制和ASCII兩種方式同時輸出。
-nn?:直接以IP以及PORT?number顯示,而非主機名與服務(wù)名稱
下面是我比較常用的命令組合分享:
tcpdump?-i?wlan0?port?6666??//捕獲6666端口數(shù)據(jù)
tcpdump?-i?wlan0?host?192.168.1.111?//指定IP捕獲
tcpdump?-i?wlan0?port?6666?-XX?-vvv?-nn?//詳細信息捕獲
tcpdump?-i?wlan0?dst??192.1168.1.111?-XX?-vvv?-nn?//控制輸出ip篩選
tcpdump?-i?wlan0??net?192.168.1?-XX?-vvv?-nn?//控制總網(wǎng)段捕獲
tcpdump?-i?wlan0??dst?net?192.168.1?-XX?-vvv?-nn?、、控制輸出網(wǎng)段捕獲
示例:sudo tcpdump -i lo portrange 5000-8000 -vv -XX -nn
5000-8000端口進行捕獲數(shù)據(jù),檢查雙方鏈路通信
此外我還可以做tcp網(wǎng)路的連接捕獲:
這個是三次握手
tcp?協(xié)議的三次握手過程,第一條就是?SYN?報文,這個可以通過?Flags?[S]?看出,而第二條數(shù)據(jù)的?[S.]?表示?SYN-ACK,就是?SYN?報文的應(yīng)答報文。下面是常見的?TCP?報文的?Flags:
[S]?:?SYN(開始連接)
[.]?:?沒有?Flag
[P]?:?PSH(推送數(shù)據(jù))
[F]?:?FIN?(結(jié)束連接)
[R]?:?RST(重置連接)
這個是四次揮手
結(jié)語
這就是我自己的一些網(wǎng)絡(luò)工具使用分享。如果大家有更好的想法和需求,也歡迎大家加我好友交流分享哈。
作者:良知猶存,白天努力工作,晚上原創(chuàng)公號號主。公眾號內(nèi)容除了技術(shù)還有些人生感悟,一個認真輸出內(nèi)容的職場老司機,也是一個技術(shù)之外豐富生活的人,攝影、音樂 and 籃球。關(guān)注我,與我一起同行。