導航:首頁 > 編程語言 > python路由器抓數據包

python路由器抓數據包

發布時間:2023-01-30 01:31:46

㈠ 試用wireshark如何抓取路由器上的數據包,而不是只能抓本機網卡的數據包

購買集線器。布置下網路,就能抓取無線路由的數據。

㈡ 兩台筆記本電腦通過同一台無線路由器上網,怎麼對另一台電腦進行抓包

用奶瓶(FeedingBottle)、水滴(minidwep-gtk)等軟體可以實現,下面以奶瓶軟體為例介紹使用方法:

1、雙擊紅色圈內的圖標奶瓶,在新畫面中點「YES」。

9、在第4步,如果選擇另外一個客戶端,就可以對另外一台筆記本進行抓包。

㈢ Python網路編程6-使用Pysnmp實現簡單網管

  簡單網路管理協議SNMP(Simple Network Management Protocol)用於網路設備的管理。SNMP作為廣泛應用於TCP/IP網路的網路管理標准協議,提供了統一的介面,從而實現了不同種類和廠商的網路設備之間的統一管理。
  SNMP協議分為三個版本:SNMPv1、SNMPv2c和SNMPv3。

  SNMP系統由網路管理系統NMS(Network Management System)、SNMP Agent、被管對象Management object和管理信息庫MIB(Management Information Base)四部分組成。

  SNMP查詢是指NMS主動向SNMP Agent發送查詢請求,如圖1-3所示。SNMP Agent接收到查詢請求後,通過MIB表完成相應指令,並將結果反饋給NMS。SNMP查詢操作有三種:Get、GetNext和GetBulk。SNMPv1版本不支持GetBulk操作。

  不同版本的SNMP查詢操作的工作原理基本一致,唯一的區別是SNMPv3版本增加了身份驗證和加密處理。下面以SNMPv2c版本的Get操作為例介紹SNMP查詢操作的工作原理。假定NMS想要獲取被管理設備MIB節點sysContact的值,使用可讀團體名為public,過程如下所示:

  SNMP設置是指NMS主動向SNMP Agent發送對設備進行Set操作的請求,如下圖示。SNMP Agent接收到Set請求後,通過MIB表完成相應指令,並將結果反饋給NMS。

  不同版本的SNMP Set操作的工作原理基本一致,唯一的區別是SNMPv3版本增加了身份驗證和加密處理。下面以SNMPv3版本的Set操作為例介紹SNMP Set操作的工作原理。
假定NMS想要設置被管理設備MIB節點sysName的值為HUAWEI,過程如下所示:

  SNMPv1和SNMPv2c的Set操作報文格式如下圖所示。一般情況下,SNMPv3的Set操作信息是經過加密封裝在SNMP PDU中,其格式與SNMPv2c的Set操作報文格式一致。

  SNMP Traps是指SNMP Agent主動將設備產生的告警或事件上報給NMS,以便網路管理員及時了解設備當前運行的狀態。
  SNMP Agent上報SNMP Traps有兩種方式:Trap和Inform。SNMPv1版本不支持Inform。Trap和Inform的區別在於,SNMP Agent通過Inform向NMS發送告警或事件後,NMS需要回復InformResponse進行確認。

  在Ensp中搭建網路環境,在R2上啟用SNMP作為SNMP agent,Linux主機作為NMS;為方便觀察SNMP報文格式,在R2使用SNMP的版本為v2c。

通過下面的Python腳本獲取R2的系統信息與當前的主機名

運行結果如下

  在R2介面上抓包結果如下,Linux主機向R2的161埠發送SNMP get-request報文,可以看到SNMP使用的版本為v2c,設置的團體名為public,隨機生成了一個request-id,變數綁定列表(Variable bindings),即要查詢的OID,但Value為空;值得注意的是這些信息都是明文傳輸的,為了安全在實際環境中應使用SNMPv3。

通過下面的Python腳本獲取R2的介面信息。

運行結果如下:

在R2介面抓包結果如下,getBuikRequest相比get-request設置了一個max-repetitions欄位,表明最多執行get操作的次數。Variable bindings中請求的OID條目只有一條。

下面Python腳本用於設置R2的主機名為SNMPv2R2。

運行結果如下

在路由器上可以看到主機名有R2變為了SNMPv2R2。

get-response數據包內容與set-request中無異。

下面Python腳本用於接收,R2發送的Trap,並做簡單解析。

先運行該腳本,之後再R2上手動將一個介面shutdown,結果如下:

介面上抓包結果如下,此時團體名用的是public,data部分表明是trap。

由於Ensp中的通用路由器認證演算法只支持des56,而pysnmp不支持該演算法,因此使用AR路由器配置SNMPv3。

使用下面Python腳本發送snmpv3 get報文獲取設備系統信息。

抓包結果如下,首先發送get-resques進行SNMPv3認證請求,隨機生成一個msgID,認證模式為USM,msgflgs中Reportable置1要求對方發送report,其他為置0,表示不進行加密與鑒權;另外安全參數,認證參數、加密參數都為空,此時不攜帶get請求數據。

路由器給NMS回復report,msgID與resquest一致,Msgflgs中各位都置0,同時回復使用的安全引擎,認證與加密參數為空,不進行認證與加密,因此能看到data中的數據。

AR1收到請求後進行回復,數據包中msgflags標志位中除reportable外其他位都置1,表示不需要回復,同時進行加密與鑒權。同樣也可以看到認證用戶為testuser,認證參數與加密參數都有填充,data部分也是同樣加密。

參考:
什麼是SNMP - 華為 (huawei.com)
AR100-S V300R003 MIB參考 - 華為 (huawei.com)
SNMP library for Python — SNMP library for Python 4.4 documentation (pysnmp.readthedocs.io)

㈣ fiddler怎麼抓取路由器上的數據

第一步:去網路搜索Fiddler

第二步:去到Download找到圖中的軟體安裝

第三步:打開軟體,在工具欄,找到Tools-》 Fiddler Options

第四步:在HTTs選項卡中選中decrypt https traffic和ignore server certificate errors兩項

第五步:在connections選項卡中,選擇選中allow remote computers to connect,默認監聽埠為8888,記住默認埠如果被佔用就要改一個。還有設置好了記住,一定要重啟軟體

第六步:查閱自己電腦的IP地址,在命令行中輸入:ipconfig,然後要記住自己的IP地址。

第七步:打開手機找到手機wifi網路,並修改該wifi網路詳情(長按wifi選擇->修改網路)->顯示高級選項

第八步:代替選擇手動,用前面在電腦記下來的ip地址輸進去,和那個埠地址8888

第九步:手機訪問網頁,手機打開網路

第十步:在電腦端可以看到訪問數據,右邊是數據包申請GET的地址。就到這里了啦,

㈤ 用omnipeek抓取空中任意設備的wifi數據包

    我的上一篇文章里介紹了在電腦上建立AP並運行wireshark抓取無線區域網內的數據包,但是它的局限性還是很多的,比如只能抓取本區域網內的設備,而且被抓包的設備IP協議層數據必須能達到電腦的IP協議層才有機會被wireshark抓到。所以為了能實現抓取周圍所有wifi數據的目的,這里介紹一種基於omnipeek抓包軟體的方式來抓任意設備的數據包。需要准備如下:
1) omnipeek安裝包
2) 配合omnipeek的硬體抓包網卡(某寶上有賣)
3) 抓包網卡的win驅動程序(賣家會提供)
接下來的工作就假定你已擁有抓包網卡,並在win7/win10電腦上安裝好了omnipeek及驅動。

    通過omnipeek抓取空中某個指定設備(mac地址已知)的TCP數據包。
    mac = 5C:CF:7F:69:03:D3

1) 將抓包網卡插入電腦,打開omnipeek,通過File->New Capture 創建新的抓包工程,
或直接單擊主界面中的New Capture圖標來創建。
註:一定要以admin許可權運行omnipeek,否者在下面的網卡選擇列表中看不到抓包網卡的。

2) 在彈出的Capture Options界面中的Adapter選項卡中選擇抓包網卡對應的名字,我的抓包網卡名字是WLAN2,在你的電腦上可能叫別的名字,但請注意到其他普通網卡是沒有Omnipeek=yes這個提示的。

3) 在802.11 選項卡中選擇Scan選項。這里有人會問為什麼不選Number中具體的通道呢?這樣抓包效率不是更高,Scan模式丟包率很高的。這是因為我現在也不知道我要抓包的設備它在哪個通道啊,所以我只能先選擇Scan,讓它一會把整個網段的數據抓一遍後我才知道我要抓包的設備在哪個通道。所以先這樣設置吧,一會抓完一遍待我找到了設備的wifi通道後再回過頭來設置吧。

4) 最後點擊確定,完成Capture Options的設置。

    通過Capture->Start Capture 或滑鼠點擊Start Capture 按鈕啟動抓包。

    接下來在Capture-->Packets 子界面中,我們會看到omnipeek抓到周圍大量的wifi數據包。

  在抓了差不多時間後,點擊Stop Capture 按鈕停止抓包。然後在Wireless-->WLAN 子界面中找到我們的設備,在下圖可以看到wifi from wade (00:F4:8D:ED:B1:11)就是我們要抓包的設備所連接的路由器名字,而5C:CF:7F:69:03:D3正是我們要抓包的設備! 其通道號=11 ,所以接下來我們再抓包時只用抓wlan通道號為11的頻段,這樣抓包效率就高很多了。

1) 通過Capture->Capture Options 打開Capture Options 界面

2) 在802.11 選項卡中選擇Number選項,並在下拉列表中選擇11通道。

3) 在Filters選項卡中設置抓包過濾條件,因為我們已知被抓包設備的mac地址了,這里點擊綠色加號新建一個Untitled 過濾項目。在彈出的界面中勾選Address filter ,Type下拉列表中選擇Ethernet Address ,並在Address 1 輸入設備的mac地址,Address 2 中選擇Any address 表示任何設備。但如果指定了Address2,就只會抓取Address1 和Address2之間通信的數據。

4) 最後點擊確定,完成Capture Options的設置。

    通過Capture->Start Capture 或滑鼠點擊Start Capture 按鈕啟動抓包。
    接下來在Capture-->Packets 子界面中,我們會看到omnipeek抓到了設備的wifi數據包。

    但是我們會發現雖然我們抓到數據包了,但是數據包的內容全是加密過的,這是為什麼呢,這是因為我的路由器(SSID:wifi from wade)採用了WPA2/Personal的方式加密了。所以接下來需要解密這些數據。

    首先點擊Stop Capture 停止抓包,然後給要抓包的設備斷電或斷開設備和路由器的連接,為什麼這樣做呢,如果要解密WPA加密方式的數據,必須得捕捉到其和路由器剛建立連接時的4個EAPOL包,具體為什麼請自行查閱相關資料。
    這時點擊Start Capture 按鈕開始抓包,然後讓設備重新連上路由器,這時我們會看到成功抓到了4個EAPOL包,可以確定接下來完全可以解出加密的數據了。

    最後在抓取了一定量的數據包後,我們點擊Stop Capture 按鈕停止抓包,這時我們看到的數據仍然是加密狀態,接下來通過Tools->Decrypt Wlan Packets 解密數據。
    1)首先點擊...按鈕

    2)點擊Insert創建解密集

    3)填入相應的信息

    4)最後選擇wifiwade_wpa_12345678解密集,點擊OK開始解密

    5)Congratulations! 到此我們已經抓到設備的數據包,並將其解密成功了,接下來就是篩選出我們要的TCP數據包了。

    1)點擊屏幕左邊的篩選圖標

    2)並選擇Insert Filters->TCP,點擊回車,在彈出的界面中選擇Copy selected packets to new window

    3)最後在新的窗口中我們就可以看到我們想要的TCP層以上的數據了。接下來的數據包分析工作就看你自己了。

    熟悉omnipeek這個軟體並用它成功抓包解包花了我半天的時間,但寫這篇文章分享技術心得卻花了我一天的時間,如果你看到這篇文章覺得有用的話點個贊吧。

㈥ 家裡用路由器撥號上網,如何抓WAN口的包

你可以將介入網線直接插在電腦上,然後在電腦上設置寬頻撥號。裝上抓包軟體,就可以對你抓取到WAN的數據包了。

㈦ 如何通過路由器抓包提取手機數據

1、路由器本身有抓包功能,或者有相關API,對路由器有控制權的人都能操作。
2、利用別人的設備,比如網路探針之類的設備進行操作。
3,如是家庭的普通路由器,頂多隻能抓取本身連接的數據包,或者與手機通信的數據包。這種情況除非會分析數據包,否則就算抓到也沒有用。或者有專門分析數據包的軟體。

㈧ 路由器如何進行數據包過濾

數據包是TCP/IP協議通信傳輸中的數據單位,區域網中傳輸的不是「幀」嗎?
但是TCP/IP協議是工作在OSI模型第三層(網路層)、第四層(傳輸層)上的,而幀是工作在第二層(數據鏈路層)。
上一層的內容由下一層的內容來傳輸,所以在區域網中,「包」是包含在「幀」里的。
一、數據包過濾有時也稱為靜態數據包過濾,它通過分析傳入和傳出的數據包以及根據既定標准傳遞或阻止數據包來控制對網路的訪問,當路由器根據過濾規則轉發或拒絕數據包時,它便充當了一種數據包過濾器。
當數據包到達過濾數據包的路由器時,路由器會從數據包報頭中提取某些信息,根據過濾規則決定該數據包是應該通過還是應該丟棄。數據包過濾工作在開放式系統互聯 (OSI) 模型的網路層,或是 TCP/IP 的 Internet 層。
二、作為第3層設備,數據包過濾路由器根據源和目的 IP 地址、源埠和目的埠以及數據包的協議,利用規則來決定是應該允許還是拒絕流量。這些規則是使用訪問控制列表 (ACL) 定義的。
三、相信您還記得,ACL 是一系列 permit 或 deny 語句組成的順序列表,應用於 IP 地址或上層協議。ACL 可以從數據包報頭中提取以下信息,根據規則進行測試,然後決定是「允許」還是「拒絕」。
四、簡單的說,你上網打開網頁,這個簡單的動作,就是你先發送數據包給網站,它接收到了之後,根據你發送的數據包的IP地址,返回給你網頁的數據包,也就是說,網頁的瀏覽,實際上就是數據包的交換。
1、數據鏈路層對數據幀的長度都有一個限制,也就是鏈路層所能承受的最大數據長度,這個值稱為最大傳輸單元,即MTU。以乙太網為例,這個值通常是1500位元組。
2、對於IP數據包來講,也有一個長度,在IP包頭中,以16位來描述IP包的長度。一個IP包,最長可能是65535位元組。
3、結合以上兩個概念,第一個重要的結論就出來了,如果IP包的大小,超過了MTU值,那麼就需要分片,也就是把一個IP包分為多個。
數據包的結構與我們平常寫信非常類似,目的IP地址是說明這個數據包是要發給誰的,相當於收信人地址;
源IP地址是說明這個數據包是發自哪裡的,相當於發信人地址,而凈載數據相當於信件的內容,正是因為數據包具有這樣的結構,安裝了TCP/IP協議的計算機之間才能相互通信。
在使用基於TCP/IP協議的網路時,網路中其實傳遞的就是數據包。

㈨ 怎樣截取路由器的封包

下載個Sniffer pro工具,用Tracert命令,當然得你路由器支持。

閱讀全文

與python路由器抓數據包相關的資料

熱點內容
有伺服器地址怎麼安裝軟體 瀏覽:659
安卓如何完全清除數據 瀏覽:690
安卓安卓證書怎麼信任 瀏覽:53
伺服器被攻擊如何解決 瀏覽:221
學霸變成程序員 瀏覽:881
c語言編譯錯誤fatalerror 瀏覽:441
ipv4內部伺服器地址怎麼分配 瀏覽:463
java線程安全的方法 瀏覽:950
重復命令畫梯形 瀏覽:164
在疫情就是命令 瀏覽:328
自己搭建一個什麼伺服器好玩 瀏覽:253
java基礎馬士兵 瀏覽:823
完美世界手游如何查看伺服器 瀏覽:859
光遇安卓與ios什麼時候互通 瀏覽:598
js如何運行時編譯 瀏覽:917
引力app在哪裡下載 瀏覽:609
編寫app如何得到錢 瀏覽:801
吉利汽車軟體放哪個文件夾安裝 瀏覽:223
多文件編譯c 瀏覽:543
頭頂加密後為什麼反而更稀疏 瀏覽:794