本次練習的環境為
- OS X EI Capitan v10.11.3 64bit
- wireshark 2.0.2 64bit
首先看看如何使用一個現成的 lua script,官網共定義有三種方式。
- By putting it in the personal plugins directory.
- By loading it from init.lua using dofile().
- By loading it from the command line using the '-X lua_script:pcap_file.lua' argument, for either Tshark or Wireshark.
Method 1. putting it in the personal plugins directory
將 dissector.lua 複製到/Applications/Wireshark.app/Contents/PlugIns/wireshark,若載入成功,則在 About 頁面會看到以下資訊。
Method 2. loading it from init.lua using dofile().
需修改 /Applications/Wireshark.app/Contents/Resources/share/wireshark/init.lua,在檔案最後面加入 dofile(DATA_DIR.."dissector.lua")Method 3. loading it from the command line
$ wireshark -X lua_script:dissector.lua
原始的 Wireshark 畫面如下,
若有正確載入 lua script,則畫面如下:
Original
With Lua Script |
接著若是要自行撰寫 lua 程式,可以看看這個中文教學或是官方教學,學習如何撰寫一個 lua script。順道一提,若是使用 ultraedit寫碼, 可至此處下載 lua word files,以利檢視程式碼。
此篇的重點在使用 lua script來協助釐清問題,因此我盡量搜集網路上的使用現成例子。下面這邊收集了一些參考網址,後續有需要時,可以到這些網址搜尋是否有合用的 lua。
- Wireshark 官方範例
- 取得 H.264 封包,
- Google 提供的範例,比方說我想找 rtp 相關的 lua,直接在 google search 下輸入 "rtp filetype:lua" 即可
參考資料
- https://wiki.wireshark.org/Lua/Examples
- http://blog.csdn.net/jasonhwang/article/details/7359095
- http://www.ultraedit.com/downloads/extras/wordfiles.html