資源簡介
使用vc編寫 運用wpacp函數調用實現。
一套控制臺的,一套MFC窗口的,想要就下哈,里面有說明文檔。

代碼片段和文件信息
#include?“iostream.h“
#pragma?comment(lib“ws2_32.lib“)
#define?HAVE_REMOTE
#include?“pcap.h“
#include?“windows.h“
#include
//******************************************************************************************************************
//*****************************************全局變量聲明*************************************************************
//******************************************************************************************************************
CRITICAL_SECTION?cs;//臨界區定義
int?myThreadCount?=?0;//線程數目
pcap_if_t?*d;//全局變量,存放選中的網絡設備
pcap_pkthdr*?pktHd;//存放收到包的包頭
const?unsigned?char*?pktDt;//存放收到包的數據域
pcap_t?*pt;//全局變量,存放打開的網絡連接句柄
unsigned?int?iptosendniptosendhlocalipnlNetMaskHostNum;//iptosendn要發送的網絡序的目的IP地址,iptosendh要發的主機序的IP地址
unsigned?char?localmac[6]={000000};???????????????//存放本機MAC地址
#pragma?pack(1)//操作系統界地址對齊方式換為網絡對齊方式
struct?ethernet_head//以太網物理幀頭
{unsigned?char?dest_mac[6];
?unsigned?char?source_mac[6];
?unsigned?short?eh_type;
};
struct?arp_head//ARP數據包數據部分結構
{unsigned?short?hardware_type;??//?2硬件類型:Ethernet網接口類型為1
?unsigned?short?protocol_type;??//?2協議類型:IP協議類型為0x0800
?unsigned?char?add_len;?????????//?1硬件地址長度:MAC地址長度為6字節
?unsigned?char?pro_len;?????????//?1協議地址長度:IP地址長度為4字節
?unsigned?short?option;?????????//?2ARP操作類型:1表示請求,2表示應答
?unsigned?char?sour_addr[6];????//?6源MAC地址:發送方的MAC地址
?unsigned?long?sour_ip;?????????//?4源IP地址:發送方的IP地址
?unsigned?char?dest_addr[6];????//?6目的MAC地址:在ARP請求中沒有意義,在ARP響應中為接收方的MAC地址
?unsigned?long?dest_ip;?????????//?4目的IP地址:在ARP請求中為待解析的IP地址,在ARP響應中為接收方的IP地址
?unsigned?char?padding[18];?????//?18填充字節:用來補齊最小長度
};
struct?arp_packet//ARP數據包結構
{?ethernet_head?eth;
??arp_head?arp;
}myPacket;//全局變量,存放ARP請求數據包
#pragma?pack()//界地址對齊方式回到操作系統方式
//******************************************************************************************************************
//*****************************************全局函數聲明*************************************************************
//******************************************************************************************************************
void?MakePacket(int?sourceipint?destiparp_packet?*parp_packet);//封包函數聲明
DWORD?WINAPI?threadofrcv(LPVOID);//接收線程聲明
DWORD?WINAPI?threadofsnt(LPVOID);//發送線程聲明
//******************************************************************************************************************
//*****************************************程序主函數***************************************************************
//******************************************************************************************************************
main()
{
cout<<“**********************************************************************“< cout<<“**********************************************************************“< cout<<“*****************ARP協議獲取局域網活動主機MAC地址程序*****************“< cout<<“**********************************************************************“< cout<<
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????285??2009-10-28?22:35??2120090356_苑愛泉_第二次作業\作業說明.txt
?????文件?????371712??2009-10-29?00:27??2120090356_苑愛泉_第二次作業\控制臺版\2120090356_苑愛泉_第二次作業_控制臺版.doc
?????文件?????229424??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\可執行程序\mmm.exe
?????文件??????35828??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\fxsjb.obj
?????文件??????????0??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\fxsjb.sbr
?????文件????2040832??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\mmm.bsc
?????文件?????229424??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\mmm.exe
?????文件?????337588??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\mmm.ilk
?????文件????4831540??2009-10-28?16:56??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\mmm.pch
?????文件?????599040??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\mmm.pdb
?????文件?????????16??2009-10-28?16:54??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\myResult
?????文件?????173056??2009-10-29?00:13??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\vc60.idb
?????文件??????94208??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\Debug\vc60.pdb
?????文件??????13040??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\fxsjb.cpp
?????文件???????4286??2009-10-25?21:14??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\mmm.dsp
?????文件????????514??2008-10-28?23:41??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\mmm.dsw
?????文件??????66560??2009-10-29?00:27??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\mmm.ncb
?????文件??????48640??2009-10-29?00:27??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\mmm.opt
?????文件???????1024??2009-10-28?16:59??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\mmm.plg
?????文件?????????64??2009-10-29?00:16??2120090356_苑愛泉_第二次作業\控制臺版\源代碼\myResult
?????文件?????453632??2009-10-29?00:26??2120090356_苑愛泉_第二次作業\界面版\2120090356_苑愛泉_第二次作業_界面版.doc
?????文件?????114733??2009-10-28?21:58??2120090356_苑愛泉_第二次作業\界面版\可執行程序\sharp.exe
?????文件?????114733??2009-10-28?23:17??2120090356_苑愛泉_第二次作業\界面版\源代碼\Debug\sharp.exe
?????文件?????435448??2009-10-28?23:17??2120090356_苑愛泉_第二次作業\界面版\源代碼\Debug\sharp.ilk
?????文件??????26703??2009-10-27?21:40??2120090356_苑愛泉_第二次作業\界面版\源代碼\Debug\sharp.obj
?????文件????5569268??2009-10-11?02:33??2120090356_苑愛泉_第二次作業\界面版\源代碼\Debug\sharp.pch
?????文件?????418816??2009-10-28?23:17??2120090356_苑愛泉_第二次作業\界面版\源代碼\Debug\sharp.pdb
?????文件???????2840??2009-10-28?22:12??2120090356_苑愛泉_第二次作業\界面版\源代碼\Debug\sharp.res
?????文件??????65913??2009-10-28?23:17??2120090356_苑愛泉_第二次作業\界面版\源代碼\Debug\sharpDlg.obj
?????文件?????105458??2009-10-11?02:33??2120090356_苑愛泉_第二次作業\界面版\源代碼\Debug\StdAfx.obj
............此處省略33個文件信息
- 上一篇:C++培訓課程資料1
- 下一篇:研華 數據采集卡應用與編程
評論
共有 條評論