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