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

正文內(nèi)容

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

2025-06-27 20:57本頁面
  

【正文】 eof(UDPHEADER)。 } } if(ip_headerproto==1) { PICMPHEADER icmp_header。 icmp_header=(PICMPHEADER)(buf+sizeof(IPHEADER))。 strProto=ICMP。 strSourPort=。 strDestPort=。 ::PostMessage(hWnd,WM_USER_MSG,0,0)。 } } } } if(s==1)//分析數(shù)據(jù) { s=0。 for(int i=0。i=m。i++) { if(i258) tudata[i]=data[i]。 } try { m_pRecordsetAddNew()。//存儲數(shù)據(jù)和信息 m_pRecordsetPutCollect(Ip_saddress,_variant_t(szSource))。 m_pRecordsetPutCollect(Ip_sport,_variant_t(strSourPort))。 m_pRecordsetPutCollect(Ip_data,_variant_t(tudata))。 m_pRecordsetPutCollect(Ip_dport,_variant_t(strDestPort))。 m_pRecordsetPutCollect(Ip_daddress,_variant_t(szDest))。 m_pRecordsetPutCollect(Proto,_variant_t(strProto))。 m_pRecordsetUpdate()。 } catch(__error*e) { AfxMessageBox(eErrorMessage())。 } } } return 0。}void CGraduationDesignDlg::OnUserMsg() //顯示分析內(nèi)容{AddData(strProto,szSource,strSourPort,szDest,strDestPort)。}void CGraduationDesignDlg::AddData(CString s0, CString s1, CString s2, CString s3, CString s4)//顯示數(shù)據(jù)和信息函數(shù){ int index。 index = (0,s0)。 (index,1,LVIF_TEXT,s1, 0, 0, 0,0)。 (index,2,LVIF_TEXT,s2, 0, 0, 0,0)。 (index,3,LVIF_TEXT,s3, 0, 0, 0,0)。 (index,4,LVIF_TEXT,s4, 0, 0, 0,0)。} 數(shù)據(jù)包信息的分析顯示 數(shù)據(jù)中的數(shù)據(jù)和信息用戶點擊數(shù)據(jù)分析按鈕,即可出現(xiàn)數(shù)據(jù)分析對話框。該對話框采用非模態(tài)調(diào)用,非模態(tài)對話框退出后一定要釋放。(1) 數(shù)據(jù)分析記錄:數(shù)據(jù)分析記錄的查詢是根據(jù)源IP地址和源端口號進行的。IP地址分為指定IP地址和全部IP地址;端口號分為指定端口號和全部端口號。用戶可以根據(jù)自己的需求設(shè)置查詢條件,以便獲得自己期望的結(jié)果。結(jié)果顯示在屏幕上,利用List Control控件,因此要對其初始化。由于要對數(shù)據(jù)庫記錄集進行操作,()。、。 為控件添加變量_RecordsetPtr m_pRecordsetout。//記錄集對象 void initctrllist()。//初始化List Control控件void CGraduationDesignDlg::OnButton3() //顯示數(shù)據(jù)分析對話框{checkdata*Infodata=new checkdata。 InfodataCreate(IDD_DIALOG2)。 InfodataShowWindow(SW_SHOW)。}void checkdata::PostNcDestroy()//釋放對話框資源{ delete this。}void checkdata::OnCancel() //退出并釋放對話框{ 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ù)的刪除是用戶將沒有什么利用價值的或者過時的記錄刪除,以提高效率。數(shù)據(jù)記錄的刪除是根據(jù)源IP地址和源端口進行的。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ù)的刪除點擊主界面的“主機查詢”按鈕,則出現(xiàn)主機查詢對話框,此對話框也非模態(tài)的,非模態(tài)的相關(guān)內(nèi)容在前面已做介紹,這里就省略了。主機查詢是根據(jù)查詢本局域網(wǎng)的DNS服務(wù)器由hostent結(jié)構(gòu)獲取主機IP地址和用戶名等的,并把結(jié)果顯示在屏幕上。如果DNS服務(wù)器返回的結(jié)果不是hostent類型的則錯誤。查詢分為:全部主機和指定主機,全部主機查詢本局域網(wǎng)內(nèi)和本主機在IP地址上是同一網(wǎng)內(nèi)的所有主機,并顯示在線的主機,指定主機查詢根據(jù)指定的IP地址進行查詢,點擊查詢按鈕即可查詢。相關(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
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1