版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、,信息安全產(chǎn)品開發(fā)實踐-數(shù)據(jù)包的構(gòu)造,Gujianjun (ruth)zjfriends@vip.sina.com, 13880804340Dec 2007,Libnet介紹,Libnet介紹,Mike D. Schiffmanhttp://www.packetfactory.net/libnet/專業(yè)的網(wǎng)絡(luò)數(shù)據(jù)包構(gòu)造和發(fā)送開發(fā)包包含了多路技術(shù)、緩沖區(qū)管理、網(wǎng)絡(luò)數(shù)據(jù)包頭信息、字節(jié)流順序、操作系統(tǒng)兼容性、校驗和計算等提供了
2、在IP層和鏈路層構(gòu)造數(shù)據(jù)包的功能應(yīng)用廣泛:ettercap、firewalk、snort、,Libnet作用,構(gòu)造任意數(shù)據(jù)內(nèi)容構(gòu)造各種不同協(xié)議的數(shù)據(jù)包支持從鏈路層到IP層數(shù)據(jù)包構(gòu)造支持跨平臺、自動計算校驗和,Libnet函數(shù),核心函數(shù)地址函數(shù)數(shù)據(jù)包構(gòu)造函數(shù)數(shù)據(jù)包發(fā)送函數(shù)高級處理函數(shù)Libnet句柄隊列操作函數(shù)輔助函數(shù) 具體見libnet_functions.h,Libnet支持協(xié)議類型,具體見libnet-str
3、uctures.h,Libnet的開發(fā)流程,初始化libnet_init(),構(gòu)造TCP協(xié)議塊Libnet_build_tcp_options(),構(gòu)造IP頭Libnet_build_ipv4(),,,發(fā)送數(shù)據(jù)包libnet_write(),銷毀libnet_destroy(),,構(gòu)造TCP頭Libnet_build_tcp(),,構(gòu)造以太網(wǎng)頭libnet_build_ethernet(),,初始化,由libnet_init
4、(int injection_type,char *device,char *err_buf)完成Injection_type:表示構(gòu)造的類型Device:表示網(wǎng)絡(luò)接口Err_buf:表示存放出錯的信息,初始化-確定libnet類型,6種類型LIBNET_LINK:表示構(gòu)造鏈路層開始的數(shù)據(jù)包,比IP層的更豐富;LIBNET_RAW4:表示構(gòu)造IPV4原始套接字接口類型的數(shù)據(jù)包;LIBNET_RAW6:表示構(gòu)造IPV6原始套接
5、字接口類型的數(shù)據(jù)包;,初始化-確定網(wǎng)絡(luò)接口,數(shù)據(jù)包發(fā)送的接口一種是自己指定,可以是網(wǎng)絡(luò)接口的名字,如以太網(wǎng)接口”eth0”等,也可以是IP地址;一種是由libnet自動查詢搜索,只要在函數(shù)libnet_init()的參數(shù)device賦值null即可,此時libnet會從系統(tǒng)中搜索可用的網(wǎng)絡(luò)接口.,初始化-獲取libnet的句柄,執(zhí)行完后返回一個libnet句柄,在這個句柄里面包含了重要的信息.不直接打交道struct libnet
6、_context{#if ((__WIN32__) && !(__CYGWIN__)) SOCKET fd; LPADAPTER lpAdapter;#else int fd; /* file descriptor of packet device */#endif,int injection_type;
7、 /* raw (ipv4 or ipv6) or link */#define LIBNET_LINK 0x00 /* link-layer interface */#define LIBNET_RAW4 0x01 /* raw socket interface (ipv4) */#define LIBNET_RAW6 0x02 /*
8、 raw socket interface (ipv6) *//* the following should actually set a flag in the flags variable above */#define LIBNET_LINK_ADV 0x08 /* advanced mode link-layer */#define LIBNET_RAW4_ADV 0x09 /*
9、 advanced mode raw socket (ipv4) */#define LIBNET_RAW6_ADV 0x0a /* advanced mode raw socket (ipv6) */#define LIBNET_ADV_MASK 0x08 /* mask to determine adv mode */,libnet_pblock_t *protocol_blocks;
10、 /* protocol headers / data */ libnet_pblock_t *pblock_end; /* last node in list */ u_int32_t n_pblocks; /* number of pblocks */ int link_type; /* link-layer type
11、 */ int link_offset; /* link-layer header size */ int aligner; /* used to align packets */ char *device; /* device name */,struct libnet_stats s
12、tats; /* statistics */ libnet_ptag_t ptag_state; /* state holder for pblock tag */ char label[LIBNET_LABEL_SIZE]; /* textual label for cq interface */ char err_buf[LIBNET_ERRBUF_SIZE]
13、; /* error buffer */ u_int32_t total_size; /* total size */};typedef struct libnet_context libnet_t;,構(gòu)造數(shù)據(jù)包,構(gòu)造一個數(shù)據(jù)包就是構(gòu)造一系列協(xié)議塊.一個數(shù)據(jù)包是由一個協(xié)議塊構(gòu)成的.例如:構(gòu)造一個tcp數(shù)據(jù)包,1、構(gòu)造一個tcp協(xié)議塊,然后插入?yún)f(xié)議塊鏈表;2、在構(gòu)造一個ip協(xié)議塊,插入到t
14、cp協(xié)議塊后面;3、最后構(gòu)造一個以太網(wǎng)協(xié)議塊,插入到ip協(xié)議塊后面.,數(shù)據(jù)包檢測,數(shù)據(jù)包的檢測最主要的是計算校驗和,如果不想自己計算校驗和,只需要將校驗和的參數(shù)賦值為0即可,libnet就會自動計算校驗和.,數(shù)據(jù)包發(fā)送,非常簡單,只需要由函數(shù)libnet_write()函數(shù)完成的.,構(gòu)造arp數(shù)據(jù)包的流程,過程說明,1、利用函數(shù)libnet_init()進(jìn)行初始化操作,因為arp協(xié)議在網(wǎng)絡(luò)層,所以必須先構(gòu)造arp協(xié)議塊,也就是利用函數(shù)
15、libnet_build_arp()來構(gòu)造arp協(xié)議塊;2、利用函數(shù)libnet_autobuild_ethernet()或者libnet_build_ethernet()來構(gòu)造以太網(wǎng)協(xié)議塊;3、利用函數(shù)libnet_write()發(fā)送數(shù)據(jù)包;,初始化libnet_init(),構(gòu)造ARP協(xié)議塊Libnet_build_arp()Libnet_autobuild_arp(),構(gòu)造以太網(wǎng)協(xié)議塊Libnet_build_ether
16、net()Libnet_autobuild_ethernet(),,,發(fā)送數(shù)據(jù)包libnet_write(),銷毀libnet_destroy(),,數(shù)據(jù)包的構(gòu)造及設(shè)計,過程簡單說明,1、對內(nèi)存進(jìn)行初試化;2、對網(wǎng)絡(luò)進(jìn)行初始化;3、構(gòu)造各種網(wǎng)絡(luò)數(shù)據(jù)包;4、對數(shù)據(jù)包進(jìn)行合法性檢查5、發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包,初始化函數(shù),由libnet_init(int injection_type,char *device,char *err_buf
17、)完成函數(shù)返回值:如果成功就返回一個libnet句柄,如果失敗,則返回null參數(shù)描述:Injection_type:表示構(gòu)造的類型,Device:表示網(wǎng)絡(luò)接口,Err_buf:表示存放出錯的信息,地址函數(shù),由char * libnet_addr2name4(u_init32_t,u_int8_t usr_name)完成函數(shù)返回值:返回IPV4地址的文字面熟字符串格式參數(shù)描述:參數(shù)in表示網(wǎng)絡(luò)字節(jié)順序的ipv4地址,參數(shù)use
18、_name表示是否需要進(jìn)行名字.,構(gòu)造函數(shù),由u_int32_t libnet_name2addr4(libnet_t *l,char * host_name,u_int8_t use_name)完成函數(shù)返回值:返回網(wǎng)絡(luò)字節(jié)順序IPV4地址參數(shù)描述:參數(shù)l表示libnet句柄,參數(shù)host_name表示主機(jī)名字,參數(shù)use_name表示是否要進(jìn)行域名解析.destination_ip=libnet_name2addr4(1,de
19、stination_ip_str,LIBNET_RESOLVE),構(gòu)造函數(shù),libnet_build_arp()函數(shù)返回值:返回一個協(xié)議標(biāo)志,失敗返回-1,構(gòu)造函數(shù),libnet_autobuild_ethernet(u_int8_t *dst, u_int16_t type, libnet_t *l)函數(shù)返回值:返回一個協(xié)議標(biāo)志,失敗返回-1;參數(shù)描述:參數(shù)dst表示目的以太網(wǎng)地址,參數(shù)type表示協(xié)議類型,參數(shù)l表示libne
20、t句柄libnet_autobuild_ethernet(hardware_destination,ETHERTYPE_ARP,l),數(shù)據(jù)包構(gòu)造,ARP數(shù)據(jù)包構(gòu)造IP數(shù)據(jù)包構(gòu)造Tcp數(shù)據(jù)包構(gòu)造Synflood數(shù)據(jù)包構(gòu)造Ping of death數(shù)據(jù)包構(gòu)造gcc -o xxx arp.c -lnet,數(shù)據(jù)包構(gòu)造,tar -zxvf libnetxxxx.tar.gzcd libnet./configurema
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科來數(shù)據(jù)包構(gòu)造器快速入門指南
- 信息安全產(chǎn)品供給中政府責(zé)任研究.pdf
- 基于產(chǎn)品數(shù)據(jù)包的成熟度評價研究.pdf
- 數(shù)據(jù)包攔截技術(shù)在SSL VPN產(chǎn)品中的應(yīng)用.pdf
- 監(jiān)控ip數(shù)據(jù)包流量
- ip數(shù)據(jù)包的捕獲與分析
- 網(wǎng)絡(luò)數(shù)據(jù)包的協(xié)議分析程序的設(shè)計開發(fā)畢業(yè)設(shè)計
- 北京天融信公司信息安全產(chǎn)品營銷策略研究.pdf
- 信息安全產(chǎn)品代理企業(yè)A的微信營銷研究.pdf
- 信息安全產(chǎn)品測試管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 安全產(chǎn)品配置優(yōu)化操作規(guī)范
- 基于網(wǎng)絡(luò)數(shù)據(jù)包的口令信息獲取實現(xiàn)技術(shù)研究.pdf
- 基于網(wǎng)絡(luò)數(shù)據(jù)包的網(wǎng)頁信息還原實現(xiàn)技術(shù)研究.pdf
- php網(wǎng)絡(luò)數(shù)據(jù)包分析工具的設(shè)計與開發(fā)(源代碼+論文)
- 萬兆網(wǎng)絡(luò)數(shù)據(jù)包捕獲系統(tǒng)的研究與開發(fā).pdf
- IP數(shù)據(jù)包分類算法的研究.pdf
- 解析ip數(shù)據(jù)包課程設(shè)計
- 解析arp數(shù)據(jù)包課程設(shè)計
- 網(wǎng)絡(luò)數(shù)據(jù)包截獲分析系統(tǒng)的研究.pdf
- 協(xié)議數(shù)據(jù)包的捕獲與分析實習(xí)報告
評論
0/150
提交評論