通过Wireshark抓包疯狂聊天程序聊天记录
文章目錄
- 1 WireShark 簡介
- 2 抓取聊天網(wǎng)絡(luò)數(shù)據(jù)包
- 2.1 設(shè)備連接
- 2.2 利用wireshark抓包分析此程序連接采用的協(xié)議和端口
- 總結(jié)
1 WireShark 簡介
Wireshark是一個網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是擷取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細的網(wǎng)絡(luò)封包資料。Wireshark使用WinPCAP作為接口,直接與網(wǎng)卡進行數(shù)據(jù)報文交換。WireShark可以比喻做硬件工程的萬用表、示波器,同樣我們網(wǎng)絡(luò)工程師或者軟件工程師可以利用wireshark來進行分析網(wǎng)絡(luò)。
wireshark下載地址:https://www.wireshark.org/download/
直接安裝即可。
2 抓取聊天網(wǎng)絡(luò)數(shù)據(jù)包
2.1 設(shè)備連接
注意,當(dāng)兩臺電腦連接到同一個WLAN時,運行瘋狂聊天程序可能會無法發(fā)送聊天內(nèi)容,當(dāng)我們知曉ip時,在終端ping ip地址能夠成功,但就是不能傳輸,此時需要將除WLAN外的網(wǎng)卡全部禁用,再次運行程序,就能夠發(fā)送數(shù)據(jù)了。
兩臺電腦連接同一個熱點,打開瘋狂聊天軟件,并在聊天程序中輸入同一個房間號:
測試兩臺電腦是否連通
2.2 利用wireshark抓包分析此程序連接采用的協(xié)議和端口
通過分析代碼可知,該瘋狂聊天程序通過udp向255.255.255.255發(fā)送信息。
在wireshark中輸入篩選ip.dst==255.255.255.255進行過濾
可以發(fā)現(xiàn)存在這樣的包,同時也驗證了是基于UDP協(xié)議進行發(fā)送,而且是發(fā)送到廣播地址255.255.255.255。這樣處于同一個房間即處在同一個端口號的所有人都可以接受到消息。
可以發(fā)現(xiàn)端口號為5005,通過分析源碼可以得知端口號為房間號+5000,而我們的房間號為5。
繼續(xù)查看發(fā)送的內(nèi)容
此時,只發(fā)送西文字符,可以直接看到信息內(nèi)容與抓包抓到的數(shù)據(jù)一致
當(dāng)發(fā)送內(nèi)容為中文時
抓取到的信息為:
可以發(fā)現(xiàn)當(dāng)發(fā)送中文的時候,只能看到…,分析代碼可知分析代碼可以發(fā)現(xiàn)中文經(jīng)過了utf-8轉(zhuǎn)換,一個中文占三個字節(jié)。
總結(jié)
軟件使用的協(xié)議是UDP,連接端口是5005,能在多臺電腦上同時傳輸聊天數(shù)據(jù)的原因是發(fā)送信息時使用的廣播地址。關(guān)于UDP:將數(shù)據(jù)及源和目的封裝成數(shù)據(jù)包中,不需要建立連接;每個數(shù)據(jù)報的大小在限制在64k內(nèi);因無連接,是不可靠協(xié)議;不需要建立連接,速度快。使用udp協(xié)議主要涉及到兩個類:DatagramSocket,DatagramPacket。學(xué)會抓包可以幫助我們在網(wǎng)絡(luò)編程過程中很好的測試。
參考
https://blog.csdn.net/qq_45659777/article/details/121421044
https://blog.csdn.net/qq_47281915/article/details/121356226
總結(jié)
以上是生活随笔為你收集整理的通过Wireshark抓包疯狂聊天程序聊天记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS 2017 生成类图
- 下一篇: c++实现真值表