91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.28MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-10-30
  • 語言: C/C++
  • 標簽: 課程設(shè)計??ARP??

資源簡介

使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址,C++實現(xiàn),附源碼、程序及文檔還有winpcap環(huán)境搭建介紹

資源截圖

代碼片段和文件信息

#include
#include?
#include?
#include?

using?namespace?std;

//ARP數(shù)據(jù)包結(jié)構(gòu)
typedef?struct?ArpStruct{
????u_short?hdtype;?????????//硬件類型(2B),值為0001表示它為Ethernet
????u_short?protype;????????//協(xié)議類型(2B),值為0800表示上層協(xié)議為IP
????u_char?hdsize;??????????//物理地址長度(1B),值為06
????u_char?prosize;?????????//協(xié)議地址長度(1B),值為04
????u_short?op;?????????????//操作(2B),值為0001表示ARP請求,值為0002表示ARP應(yīng)答
????u_char?sMacAddr[6];?????//源物理地址(6B)
????u_char?sIpAddr[4];??????//源IP地址(4B)
????u_char?dMacAddr[6];?????//目的mac地址(6B)
????u_char?dIpAddr[4];??????//目的IP地址(2B)
}ArpStruct;

void?main()
{
?pcap_if?*alldevs;????????????//存放網(wǎng)卡列表的鏈表
?pcap_if?*d;??????????????????//指定上述鏈表的某個結(jié)點
?int?inum;????????????????????//通過輸入序號選擇網(wǎng)卡
?int?i=0;?????????????????????//網(wǎng)卡列表序號
?pcap_t?*adhandle;?????????????//網(wǎng)卡句柄
?char?errbuf[PCAP_ERRBUF_SIZE];?????????//錯誤信息記錄塊
?u_int?netmask;???????????????//子網(wǎng)掩碼
?char?packet_filter[]?=?“ether?proto?\\arp“;?//設(shè)置正則表達式,只過濾arp包
?struct?bpf_program?fcode;

????//?獲得網(wǎng)絡(luò)設(shè)備列表
????if?(pcap_findalldevs_ex(PCAP_SRC_IF_STRING?NULL?&alldevs?errbuf)?==?-1)
????{
????????cout<<“Error?in?pcap_findalldevs:?“<????????exit(1);
????}
????
????//?打印網(wǎng)絡(luò)設(shè)備列表?
????for(d=alldevs;?d;?d=d->next)
????{
????????cout<<++i<<“.?“;
????????if?(d->description)
????????????cout<description<????????else
????????????cout<<“設(shè)備沒有描述“<????}

????if(i==0)
????{
????????cout<<“沒有找到適配器,請核查是否已安裝winpcap驅(qū)動.“<????????return?;
????}
????
????//輸入序號,選擇網(wǎng)卡
????cout<<“\n請輸入適配器的序號:(1-“<????scanf(“%d“?&inum);
????
????//序號合法性檢測
while(inum??i){
cout< cout<<“\n請輸入適配器的序號:(1-“< scanf(“%d“?&inum);
}
????
????//?跳轉(zhuǎn)到已選設(shè)備?
????for(d=alldevs?i=0;?inext?i++);
????
????//?以混雜模式打開適配器?
????if?(?(adhandle=?pcap_open(d->name??//?設(shè)備名
?????????????????????????????65536?????//?捕獲數(shù)據(jù)最大字節(jié)數(shù)
????????????????????????????????????????//?65535保證能捕獲到不同數(shù)據(jù)鏈路層上的每個數(shù)據(jù)包的全部內(nèi)容
?????????????????????????????PCAP_OPENFLAG_PROMISCUOUS?????????//?混雜模式,值為1
?????????????????????????????1000??????//?定義超時時間(毫秒數(shù))
?????????????????????????????NULL??????//?遠程機器驗證
?????????????????????????????errbuf?????//?錯誤緩沖池
?????????????????????????????)?)?==?NULL)
????{
????????cout<????????//?釋放設(shè)備列表?
????????pcap_freealldevs(alldevs);
????????return?;
????}
????/////////編譯并設(shè)置過濾器
????//?獲得接口第一個地址的掩碼?
?????if(d->addresses?!=?NULL)
????????netmask=((struct?sockaddr_in?*)(d->addresses->netmask))->sin_addr.S_un.S_addr;
????else
????????//?如果接口沒有地址,那么我們假設(shè)一個C類的掩碼
????????netmask=0xffffff;?
????//編譯過濾器
????if?(pcap_compile(adhandle?&fcode?packet_filter?1?netmask)?<0?)
????{
????????cout<????????//?釋放設(shè)備列表?
????????pcap_freealldevs(alldevs);
????????return?;
????}?
????//設(shè)置過濾器
????if?(pcap_setfilter(adhandle?&fcode)<0)
????{
????????cout<

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????548921??2013-07-05?03:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\exe\catch_hosts_arp.exe

?????文件???????5034??2013-07-05?03:13??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\catch_hosts_arp.cpp

?????文件???????3569??2013-07-05?03:54??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\catch_hosts_arp.dsp

?????文件????????538??2013-07-05?03:54??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\catch_hosts_arp.dsw

?????文件??????33792??2013-07-05?03:54??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\catch_hosts_arp.ncb

?????文件??????48640??2013-07-05?03:54??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\catch_hosts_arp.opt

?????文件???????1224??2013-07-05?03:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\catch_hosts_arp.plg

?????文件?????548921??2013-07-05?03:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\Debug\catch_hosts_arp.exe

?????文件?????791972??2013-07-05?03:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\Debug\catch_hosts_arp.ilk

?????文件?????162985??2013-07-05?03:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\Debug\catch_hosts_arp.obj

?????文件????5455836??2013-07-05?01:17??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\Debug\catch_hosts_arp.pch

?????文件????1106944??2013-07-05?03:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\Debug\catch_hosts_arp.pdb

?????文件?????205824??2013-07-05?03:43??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\Debug\vc60.idb

?????文件?????143360??2013-07-05?03:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\Debug\vc60.pdb

?????文件?????350208??2013-07-06?17:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\課程設(shè)計報告.doc

?????目錄??????????0??2013-07-06?17:31??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼\Debug

?????目錄??????????0??2013-07-06?17:31??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\exe

?????目錄??????????0??2013-07-06?17:31??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址\源碼

?????目錄??????????0??2013-07-06?17:32??計算機網(wǎng)絡(luò)課設(shè)-使用ARP協(xié)議獲取局域網(wǎng)內(nèi)部活動主機的物理地址

?????文件?????103936??2013-07-06?17:51??winpcap環(huán)境配置.doc

-----------?---------??----------?-----??----

??????????????9511704????????????????????20


評論

共有 條評論