如何使用Python抓取TCP握手包
TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。網(wǎng)絡(luò)上面TCP三次握手四次揮手理論文章很多但是數(shù)據(jù)包分析相對較少
TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。網(wǎng)絡(luò)上面TCP三次握手四次揮手理論文章很多但是數(shù)據(jù)包分析相對較少,我們自己學習的過程中如何利用python完美抓取TCP的握手數(shù)據(jù)包。
安裝Python和Wireshark軟件
首先,我們需要安裝Python3和Wireshark軟件。你可以在百度上直接搜索Python的官網(wǎng),并根據(jù)自己的操作系統(tǒng)選擇合適的安裝包。Wireshark則可以直接下載并安裝。具體的安裝配置可以參考前幾篇的經(jīng)驗文檔。
建立Python Socket對象
配置好Python3環(huán)境變量后,我們可以通過命令行進入Python,并使用import socket引入socket模塊。然后定義client (_INET, _STREAM)來建立一個socket對象。
抓取TCP握手數(shù)據(jù)包
接下來,我們打開安裝好的Wireshark軟件。在初始進入界面中選擇本地連接網(wǎng)卡,準備抓取等下進行的TCP連接?;氐矫钐崾究颍覀冞B接京東的網(wǎng)頁,并使用("", 80)來抓取TCP握手包。之后,我們可以使用()來關(guān)閉抓取TCP四次揮手包。
過濾IP地址
此時,我們已經(jīng)抓取到了所有本地網(wǎng)卡的流量包。但是我們只需過濾需要的數(shù)據(jù)包,例如,我們可以使用IP地址過濾。在命令行中輸入ping 來獲取JD網(wǎng)站的IP地址,并通過wireshark過濾框,使用進行過濾。如圖所示,我們就可以抓取到TCP三次握手及四次揮手的數(shù)據(jù)包。
結(jié)語
通過這個簡單的例子,我們學會了如何使用Python和Wireshark來抓取TCP握手數(shù)據(jù)包。希望這篇文章對你有所幫助!