VC 實現資料報嗅探

2021-09-10 19:15:57 字數 2695 閱讀 8527

嗅探器 可以竊聽網路上流經的資料報。 用集線器hub組建的網路是基於共享的原理的, 區域網內所有的計算機都接收相同的資料報, 而網絡卡構造了硬體的「過濾器「 通過識別mac位址過濾掉和自己無關的資訊, 嗅探程式只需關閉這個過濾器, 將網絡卡設定為「混雜模式「就可以進行嗅探 用交換機switch組建的網路是基於「交換「原理的 ,交換機不是把資料報發到所有的埠上, 而是發到目的網絡卡所在的埠。

嗅探 sniff。嗅探器可以竊聽網路上流經的資料報。用集線器hub組建的網路是基於共享的原理的,區域網內所有的計算機都接收相同的資料報,而網絡卡構造了硬體的「過濾器「通過識別mac位址過濾掉和自己無關的資訊,嗅探程式只需關閉這個過濾器,將網絡卡設定為「混雜模式「就可以進行嗅探用交換機switch組建的網路是基於「交換「原理的,交換機不是把資料報發到所有的埠上,而是發到目的網絡卡所在的埠。這樣嗅探起來會麻煩一些,嗅探程式一般利用「arp欺騙「的方法,通過改變mac位址等手段,欺騙交換機將資料報發給自己,嗅探分析完畢再**出去。

#include

#include

#include

#pragma comment (lib,"ws2_32.lib")

#define sio_rcvall _wsaiow(ioc_vendor,1)

struct

iphead;struct

tcphead //定義tcp首部;char *phostlist[10];//列舉主機網絡卡的陣列dword _stdcall listen

(void *p)

piphd=(struct iphead *)cbuf;//取得ip頭資料的位址

int iiphlen = sizeof(unsigned

long) * (piphd->h_len  & 0xf);  ptcphd=(struct tcphead *)(cbuf+iiphlen);//取得tcp頭資料的位址

printf("from : %s \t port %d\t",inet_ntoa(*(struct in_addr*)&piphd->sourceip),ntohs(ptcphd->th_sport) );        printf("to : %s \t port %d  ",inet_ntoa(*(struct in_addr*)&piphd->destip),ntohs(ptcphd->th_dport));         switch(piphd->proto)//根據ip頭的協議判斷資料報協議型別            }    return

1;}void

main

()    for(;;)//為每個網絡卡建立監聽執行緒後要用乙個迴圈防止主線程退出    }

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

嗅探器 可以竊聽網路上流經的資料報。 用集線器hub組建的網路是基於共享的原理的, 區域網內所有的計算機都接收相同的資料報, 而網絡卡構造了硬體的「過濾器「 通過識別mac位址過濾掉和自己無關的資訊, 嗅探程式只需關閉這個過濾器, 將網絡卡設定為「混雜模式「就可以進行嗅探 用交換機switch組建的網路是基於「交換「原理的 ,交換機不是把資料報發到所有的埠上, 而是發到目的網絡卡所在的埠。

嗅探 sniff。嗅探器可以竊聽網路上流經的資料報。用集線器hub組建的網路是基於共享的原理的,區域網內所有的計算機都接收相同的資料報,而網絡卡構造了硬體的「過濾器「通過識別mac位址過濾掉和自己無關的資訊,嗅探程式只需關閉這個過濾器,將網絡卡設定為「混雜模式「就可以進行嗅探用交換機switch組建的網路是基於「交換「原理的,交換機不是把資料報發到所有的埠上,而是發到目的網絡卡所在的埠。這樣嗅探起來會麻煩一些,嗅探程式一般利用「arp欺騙「的方法,通過改變mac位址等手段,欺騙交換機將資料報發給自己,嗅探分析完畢再**出去。

#include

#include

#include

#pragma comment (lib,"ws2_32.lib")

#define sio_rcvall _wsaiow(ioc_vendor,1)

struct

iphead;struct

tcphead //定義tcp首部;char *phostlist[10];//列舉主機網絡卡的陣列dword _stdcall listen

(void *p)

piphd=(struct iphead *)cbuf;//取得ip頭資料的位址

int iiphlen = sizeof(unsigned

long) * (piphd->h_len  & 0xf);  ptcphd=(struct tcphead *)(cbuf+iiphlen);//取得tcp頭資料的位址

printf("from : %s \t port %d\t",inet_ntoa(*(struct in_addr*)&piphd->sourceip),ntohs(ptcphd->th_sport) );        printf("to : %s \t port %d  ",inet_ntoa(*(struct in_addr*)&piphd->destip),ntohs(ptcphd->th_dport));         switch(piphd->proto)//根據ip頭的協議判斷資料報協議型別            }    return

1;}void

main

()    for(;;)//為每個網絡卡建立監聽執行緒後要用乙個迴圈防止主線程退出    }

VC 程式設計實現網路嗅探器

引言 從事網路安全的技術人員和相當一部分準黑客 指那些使用現成的黑客軟體進行攻擊而不是根據需要去自己編寫 的人 都一定不會對網路嗅探器 sniffer 感到陌生,網路嗅探器無論是在網路安全還是在黑客攻擊方面均扮演了很重要的角色。通過使用網路嗅探器可以把網絡卡設定於混雜模式,並可實現對網路上傳輸的資料...

VC 程式設計實現網路嗅探器

資料報 ip頭tcp頭 或其他資訊頭 資料資料在從應用層到達傳輸層時,將新增tcp資料段頭,或是udp資料段頭。其中udp資料段頭比較簡單,由乙個8位元組的頭和資料部分組成,具體格式如下 16位 16位 源埠目的埠 udp長度 udp校驗和 而tcp資料頭則比較複雜,以20個固定位元組開始,在固定頭...

簡單網路嗅探c 實現

一 原理 用一些比喻,集線器網路中所有主機都連線在一條網線上,也就是說每台主機傳送的資料都將經過其他主機的門前 網絡卡 只是說一般網絡卡一看資料報報頭,這不是發給自己的,就不理這個包了,而我們現在要做的,就是敞開大門,不管這個包是發給誰的,都將其納入囊中。那麼如何做呢?只需將網絡卡設定為混雜模式。要...