1 / 30

597435012 羅淑美 597435003 張麗娟 597435004 許智威 597435010 周玉玲 597435015 洪江西

597435012 羅淑美 597435003 張麗娟 597435004 許智威 597435010 周玉玲 597435015 洪江西. 第 四 組 網 路 封 包 監 測 程 式. Introduction Functions 程式整體介紹 程式相關問題 Appendix. Agenda. Introduction. 1.1 Purpose 1.2 System 1.3 選擇網路介面 1.4 封包抓取參數 1.5 封包過濾. 1.1 Purpose. 1.Packet capture library (libpcap) 網路封包擷取

kaiyo
Download Presentation

597435012 羅淑美 597435003 張麗娟 597435004 許智威 597435010 周玉玲 597435015 洪江西

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 597435012 羅淑美597435003 張麗娟597435004 許智威597435010 周玉玲597435015 洪江西 第 四 組 網 路 封 包 監 測 程 式

  2. Introduction Functions 程式整體介紹 程式相關問題 Appendix Agenda

  3. Introduction • 1.1 Purpose • 1.2 System • 1.3選擇網路介面 • 1.4封包抓取參數 • 1.5封包過濾

  4. 1.1 Purpose 1.Packet capture library (libpcap) 網路封包擷取 2.由分析封包結構程式將header和payload 等資訊以較容易觀看的格式輸出 3.提供簡易的選單(IP address/ICMP/ALL)執行封包擷取 4.Filter/All Packet 的內容儲存 5.Save/Load 擷取的封包

  5. 1.2 system • 作業系統 Linux base • 程式語言 C 語言 • 系統配置 安裝: 方法一: 以rpm包的形式來進行安裝. 方法二: 以根源程式的形式安裝。 (詳細的安裝步驟如附件:tcpdump.doc)

  6. 1.3 主程式架構 • pcap_lookupdev( ) • pcap_open_live( ) • pcap_compile( ) • pcap_setfilter( ) • pcap_next( ) • pcap_loop( )

  7. 1.3選擇網路介面 • 網路介面選擇函數: 此函式回傳值為文字指標內容中第一個網路介面之名稱。 • errbuf 為儲存錯誤訊息之空間,可透過此空間了解錯誤之情形。

  8. 1.4開啟設備抓取封包 //device 為所指定之網路介面名稱 //snaplen 為最大抓取 bytes 數 //promisc 此旗標為設定 promiscuous或non-promiscuous //to_ms 將資料從kernel space複製到 user space 須等待的時間 //errbuf 返回錯誤字串 回傳值:當成功時,回傳packet capture descriptor指標 當失敗時,回傳NULL

  9. 1.5 封包過濾(1/4) • 封包擷取數量龐大,需過濾封包種類. • 可以使用如下兩函式設定所要過濾的封包種類。 &

  10. 1.5封包過濾(2/4) 設定封包過濾條件有三個步驟 : 1、建構filter表示式 express = “ip” , express = “src ip” 2、將filter表示式編譯到BPF program 3、將BPF program套入到filter過濾器 (將編譯過之過濾條件設定到過濾器)

  11. 1.5 封包過濾(3/4) //pcap_t *p :指向到 pcap_open_live 之回傳packet capture descriptor位址 //str :建構所要過濾的封包種類表示式 //netmask:網路遮罩設定,配合netmask設定可對特定網段接收 //struct bpf_program *fp:fp指標指到struct bpf_program 以便將過濾封包表示式編譯到bpf_program

  12. 1.5 封包過濾(4/4) //將編譯過之過濾條件設定到過濾器 //device 裝置名稱 //netp 取得設備的網路號碼 //maskp 取得設備的網路遮罩

  13. Functions • Pcap_next() • Pcap_loop()

  14. Pcap_next() Pcap_next()的函式: 1.The first argument is our session handler. 2.The second argument is a pointer to a structure that holds general information about the packet, specifically the time in which it was sniffed, the length of this packet, and the length of his specific portion (incase it is fragmented, for example.) pcap_next() returns a u_char pointer to the packet that is described by this structure

  15. Pcap_loop() Pcap_loop()的原型如下: 1.The first argument is our session handle. 2.Following that is an integer that tells pcap_loop() how many packets it should sniff for before returning (a negative value means it should sniff until an error occurs). 3. The third argument is the name of the callback function (just its identifier, no parentheses). 4.The last argument is useful in some applications, but many times is simply set as NULL .

  16. 程式整體介紹 • 1.1程式功能 • 1.2操作步驟

  17. 1.1程式功能 程式相關問題

  18. 1.2操作步驟 item 1

  19. 1.2操作步驟 item 2

  20. 1.2 操作步驟 item 3

  21. 1.2 操作步驟 item 5

  22. 1.2 操作步驟 item 6

  23. 程式相關問題 • 遇到的困難 1.如何截取封包 2.如何解析 3.程式如何撰寫 • 程式部分的bug 1.Item 4-Save/Load information to File 目前無法merge into codec. 1/17 此問題已解決,已完成save的功能於netcapture_0118內 2. Pcap_loop() 無法暫停

  24. 工作分配 所有工作項目

  25. 工作時間分配

  26. 各組成員工作內容

  27. 會議紀錄(I)

  28. 會議紀錄 (II)

  29. Appendix 參考文獻 http://www.wireshark.org/ http://docstore.mik.ua/orelly/networking_2ndEd/tshoot/ch05_04.htm http://www.at.tcpdump.org/pcap.htm

  30. Thank You !

More Related