freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于局域網(wǎng)的數(shù)據(jù)包的截獲與分析30畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-27 20:29本頁(yè)面
  

【正文】 e this。}void checkdata::OnCancel() //退出并釋放對(duì)話框{ flags=0。 checkdata Edata。 ()。 CDialog::OnCancel()。}void checkdata::initctrllist()//初始化List Control控件{DWORDdwStyle=GetWindowLong((),GWL_STYLE)。 dwStyleamp。=~LVS_TYPEMASK。 dwStyle|=LVS_REPORT。 SetWindowLong((),GWL_STYLE,dwStyle)。 (0,源IP地址,LVCFMT_LEFT,120)。 (0,源端口,LVCFMT_LEFT,55)。 (0,數(shù)據(jù),LVCFMT_LEFT,300)。 (0,目的端口,LVCFMT_LEFT,55)。 (0,目的IP地址,LVCFMT_LEFT,120)。 (0,協(xié)議類型,LVCFMT_LEFT,55)。}void checkdata::OnOK()//查詢數(shù)據(jù)分析記錄并顯示{ if(flags==0) initctrllist()。 flags=1。 _variant_t var。 ()。 CString checkdata。 CString strsqlcheck。 UpdateData(true)。 BYTE f0,f1,f2,f3。 (f0,f1,f2,f3)。 (%u.%u.%u.%u,f0,f1,f2,f3)。 (_uuidof(Recordset))。 if(m_Rad1==0) { if(m_Rad3==0) (SELECT*FROM IPData)。 else(SELECT*FROM IPData where Ip_address=39。%s39。,checkdata)。 } else { if(m_Rad3==0)(SELECT*FROM IPData where Ip_sport=39。%s39。,m_port)。 else(SELECT*FROM IPData where Ip_saddress=39。%s39。 AND Ip_sport=39。%s39。,checkdata,m_port)。 } try{ m_pRecordsetoutOpen(_variant_t(strsqlcheck),(),adOpenDynamic,adLockOptimistic,adCmdText)。 } catch(__error*e) { AfxMessageBox(eErrorMessage())。 } int i=0。 try { if(!m_pRecordsetoutADOBOF) m_pRecordsetoutMoveFirst()。 else { AfxMessageBox(表內(nèi)數(shù)據(jù)為空)。 return。 } CString ip,data2,port,proto。 while(!m_pRecordsetoutADOEOF) { var=m_pRecordsetoutGetCollect(Proto)。 if(!=VT_NULL) proto=(LPCSTR)_bstr_t(var)。 (i,(10))。 var=m_pRecordsetoutGetCollect(Ip_daddress)。 if(!=VT_NULL) ip=(LPCSTR)_bstr_t(var)。 (i,1,(16))。 var=m_pRecordsetoutGetCollect(Ip_dport)。 if(!=VT_NULL) port=(LPCSTR)_bstr_t(var)。 (i,2,(10))。 var=m_pRecordsetoutGetCollect(Ip_data)。 if(!=VT_NULL) data2=(LPCSTR)_bstr_t(var)。 (i,3,(300))。 var=m_pRecordsetoutGetCollect(Ip_sport)。 if(!=VT_NULL) port=(LPCSTR)_bstr_t(var)。 (i,4,(10))。 var=m_pRecordsetoutGetCollect(Ip_saddress)。 if(!=VT_NULL) ip=(LPCSTR)_bstr_t(var)。 (i,5,(16))。 UpdateData(false)。 i++。 m_pRecordsetoutMoveNext()。 }} catch(__error*e) { AfxMessageBox(eErrorMessage())。 } m_pRecordsetoutClose()。 m_pRecordsetout=NULL。} 查詢結(jié)果顯示(2)刪除數(shù)據(jù): 數(shù)據(jù)的刪除是用戶將沒有什么利用價(jià)值的或者過(guò)時(shí)的記錄刪除,以提高效率。數(shù)據(jù)記錄的刪除是根據(jù)源IP地址和源端口進(jìn)行的。void checkdata::OnButton1() //刪除數(shù)據(jù){ if(MessageBox(確定刪除嗎?,提示,MB_YESNO)==IDYES) { CString checkdata。 CString strsqlcheck。 UpdateData(true)。 BYTE f0,f1,f2,f3。 (f0,f1,f2,f3)。 (%u.%u.%u.%u,f0,f1,f2,f3)。 (_uuidof(Recordset))。 if(m_Rad1==0) { if(m_Rad3==0) (DELETE FROM IPData)。 else(DELETE FROM IPData where Ip_saddress=39。%s39。,checkdata)。 } else { if(m_Rad3==0) (DELETE FROM IPData where Ip_sport=39。%s39。,m_port)。 else (DELETE FROM IPData where Ip_saddress=39。%s39。 AND Ip_sport=39。%s39。,checkdata,m_port)。 } try { m_pRecordsetoutOpen(_variant_t(strsqlcheck),(),adOpenDynamic,adLockOptimistic,adCmdText)。 } catch(__error*e) { AfxMessageBox(eErrorMessage())。 } ()。 AfxMessageBox(已刪除指定記錄!)。 }} 數(shù)據(jù)的刪除點(diǎn)擊主界面的“主機(jī)查詢”按鈕,則出現(xiàn)主機(jī)查詢對(duì)話框,此對(duì)話框也非模態(tài)的,非模態(tài)的相關(guān)內(nèi)容在前面已做介紹,這里就省略了。主機(jī)查詢是根據(jù)查詢本局域網(wǎng)的DNS服務(wù)器由hostent結(jié)構(gòu)獲取主機(jī)IP地址和用戶名等的,并把結(jié)果顯示在屏幕上。如果DNS服務(wù)器返回的結(jié)果不是hostent類型的則錯(cuò)誤。查詢分為:全部主機(jī)和指定主機(jī),全部主機(jī)查詢本局域網(wǎng)內(nèi)和本主機(jī)在IP地址上是同一網(wǎng)內(nèi)的所有主機(jī),并顯示在線的主機(jī),指定主機(jī)查詢根據(jù)指定的IP地址進(jìn)行查詢,點(diǎn)擊查詢按鈕即可查詢。相關(guān)代碼如下: 為控件添加變量include Hostent結(jié)構(gòu)的聲明如下:struct hostent { char FAR * h_name。 /* official name of host */ char FAR * FAR * h_aliases。 /* alias list */ short h_addrtype。 /* host address type */ short h_length。 /* length of address */ char FAR * FAR * h_addr_list。 /* list of addresses */define h_addr h_addr_list[0] //address, for backward pat }。void host::OnOK() { UpdateData(true)。 int index=0。 ()。 if(ab==0) {DWORD dwStyle=GetWindowLong((),GWL_STYLE)。 dwStyleamp。=~LVS_TYPEMASK。 dwStyle|=LVS_REPORT。 SetWindowLong((),GWL_STYLE,dwStyle)。 (0,主機(jī)名,LVCFMT_LEFT,150)。 (0,IP地址,LVCFMT_LEFT,130)。 ab++。 } if(m_HostIp==0) { CStringArray MyList。 ()。 CString StrTemp。 struct hostent *host1。 struct in_addr *ptr。 DWORD dwScope = RESOURCE_CONTEXT。 NETRESOURCE *NetResource = NULL。 HANDLE hEnum。 WNetOpenEnum( dwScope, NULL,NULL, NULL, amp。hEnum )。 WSADATA wsaData。 SAStartup(MAKEWORD(2,0),amp。wsaData)。 //開始搜索網(wǎng)絡(luò)資源 if (hEnum) //如果句柄有效 { DWORD Count = 0xFFFFFFFF。 DWORD BufferSize = 2048。 LPVOID Buffer = new char[2048]。 //調(diào)用WSAStartup后調(diào)用WNetEnumResource做進(jìn)一步的搜索工作 WNetEnumResource( hEnum, amp。Count, Buffer, amp。BufferSize )。 NetResource=(NETRESOURCE*)Buffer。 char StrHostName[200]。 for ( unsigned int i = 0。 i BufferSize/sizeof(NETRESOURCE)。 i++, NetResource++ ) { if ( NetResourcedwUsage == RESOURCEUSAGE_CONTAINER amp。amp。 NetResourcedwType == RESOURCETYPE_ANY ) { if ( NetResourcelpRemoteName ) { CString strFullName = NetResourcelpRemoteName。 if ( 0 == (2).Compare(\\\\) ) strFullName = (()2)。 gethostname(StrHostName,strlen( StrHostName ) )。 //獲得主機(jī)名 host1 = gethostbyname(strFullName)。 //由主機(jī)名獲得跟它對(duì)應(yīng)的主機(jī)信息 if(host1 == NULL) continue。 ptr = (struct in_addr *) host1h_addr_list[0]。 // 提取IP地址信息,地址形式如下: int a = ptr。 // 211 int b = ptr。 // 40 int c = ptr。 // 35 int d = ptr。 // 76 (%d.%d.%d.%d,a,b,c,d)。 index=(0,StrTemp)。 (index,1,LVIF_TEXT,strFullName,0,0,0,0)。 } } } delete Buffer。 WNetCloseEnum(hEnum)。 // 結(jié)束搜索工作 } } else
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1