發表文章

目前顯示的是有「wireshark」標籤的文章

從Wireshark封包檔擷取以DASH/HLS影音串流

圖片
關於這個擷取影音串流方法,現今大部分的影音平台都是會使用HTTPS加密,要先請您排除HTTPS的影音串流,因為在加密狀態下只要沒有金鑰這裡一切白談!

從Wireshark封包檔擷取以RTP串流的RTSP影音資料

圖片
因為最近工作上要確認影音封包狀態,所以需要從Wireshark封包檔擷取RTSP的影音資料,再用播放器開起來確認是否正常。 不過遭遇了擷取出的檔案使用RTP作為串流格式,該檔案只有ffplay可以播放,vlc和Ubuntu內建的影音播放器皆無法播放,使用mediainfo也無法工作,什麼資訊都沒有。

解決:Ubuntu上的wireshark無法找到網路裝置

Ubuntu上的wireshark無法找到網路裝置的解法 Why the wireshark on ubuntu cannot list any network device? the solution is .... 安裝好Wireshark後開啟時常常會出現錯誤訊息,並且找不到本機上的網路裝置,這是因為Wireshark沒有網路裝置權限的問題。然而當你用sudo開啟時,雖然可以正常抓到網路裝置,但是wireshark會顯示不建議使用root使用者開啟Wireshark。 以下是我找到的解法

wireshark封包檔案分割

如果想研究pcapng和pcap檔案格式可以看wireshark原始碼 tcpdump預設使用的pcap https://github.com/wireshark/wireshark/blob/master/wiretap/libpcap.h wireshark預設使用的pcapng https://github.com/wireshark/wireshark/blob/master/wiretap/pcapng.h 老陳獨白: pcap檔案格式解析 http://myblog-maurice.blogspot.tw/2012/02/pcap.html 以封包數分割檔案 Linux   editcap -c 1000 test.pcapng out.pcapng Windows 10 PowerShell e.g.   &"C:\Program Files\Wireshark\editcap.exe" -c 1000 test.pcapng out.pcapng 合併分割的封包檔案 mergecap -w merged.pcapng source_files_*  選取特定封包內容 editcap -r capture.pcap select.pcap 1 5 10-20 30-40 選取1, 5, 10到20, 30到40號封包 pcapng轉換成pcap editcap -F libpcap .pcapng out.pcap 顯示所有封包的MD5 Linux   editcap -v -D 0 capture.pcap /dev/null Windows   editcap.exe -v -D 0 capture.pcap NUL Windows 10 PowerShell e.g.   &"C:\Program Files\Wireshark\editcap.exe" -v -D 0 test.pcapng NUL 參考資料 wireshark文件分割與合併 https://blog.csdn.net/qq_20480611/article/details/50774686 Editcap Guid...

Wireshark的封包過濾器(display filter)範例

Wireshark可以在界面上設定封包過濾條件,不過這是將所有收進來的封包過濾後顯示出來,所以稱為Display Filter,實際上Wireshark背後還是收了非常多資料,所以不建議抓太久,wireshark抓太多資料常常會當機,因為GUI繪圖會來不及 一些DisplayFilter的規則例子 https://wiki.wireshark.org/DisplayFilters 基本邏輯 and && or || 等於與不等於 == != not ! ( ip.addr == 10.43.54.65 ) 包含內容 sip.To  contains "string" matches http.request.uri matches "gl=se quot; 範例 限制IP層的目的地主機為10.11.12.13 ip.dst_host==10.11.12.13 抓一般TCP 80 port的封包( http web server ) tcp.port eq 80 多個條件 ip.addr==10.129.193.37 || ip.addr==10.129.193.27 可以不用括號,不過執行結果順序不太清楚 http && ip.src==192.168.1.4 可以用括號 udp && (ip.dst_host==10.129.193.27) 包含byte順序0x010104的tcp封包 tcp contains 01:01:04 查看MPEG TS的PAT mp2t.pid==0x0 裏面會寫PMT有幾個,他的PID是多少 假設PMT是0x500,則設定來找出PMT mp2t.pid==0x500 查某個PID的PTS封包 mp2t.pid==0x201 && mpeg-pes.pts_flag==1