《网络编程与协议分析》课程设计报告 联系客服

发布时间 : 星期日 文章《网络编程与协议分析》课程设计报告更新完毕开始阅读

iphead *iph=(iphead *)(ddat[i].buff);

tcphead th=*((tcphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf)*4)); udphead uh=*((udphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf)*4)); icmphead ih=*((icmphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf)*4)); switch((int)iph->ip_Protocol) {

case 6: sprintf(tem,\源端口:%d\\r\\n\ buf+=tem; sprintf(tem,\目的端口:%d\\r\\n\ buf+=tem; sprintf(tem,\序列号:%d\\r\\n\ buf+=tem; sprintf(tem,\确认号:%d\\r\\n\ buf+=tem; sprintf(tem,\数据偏移:%d\\r\\n\ buf+=tem; sprintf(tem,\保留:%d\\r\\n\ buf+=tem; sprintf(tem,\标志:%d\\r\\n\ buf+=tem; sprintf(tem,\窗口:%d\\r\\n\ buf+=tem; sprintf(tem,\校验和:%d\\r\\n\ buf+=tem; sprintf(tem,\紧急指针:%d\\r\\n\ buf+=tem; newdlg.m_data=buf; break; case 17: sprintf(tem,\源端口:%d\\r\\r\\n\ buf+=tem; sprintf(tem,\目的端口:%d\\r\\n\ buf+=tem; sprintf(tem,\长度:%d\\r\\n\ buf+=tem; sprintf(tem,\校验和:%d\\r\\n\ buf+=tem; newdlg.m_data=buf; break; case 1: sprintf(tem,\类型:%d\\r\\n\ buf+=tem;

}

}

sprintf(tem,\代码:%d\\r\\n\ buf+=tem; sprintf(tem,\校验和:%d\\r\\n\ buf+=tem; newdlg.m_data=buf; break; default: AfxMessageBox(\ newdlg.m_data=\}

newdlg.DoModal();

*pResult = 0;

7)“停止”按钮事件

void CTestDlg::OnStop() { // TODO: Add your control notification handler code here

SuspendThread(m_thr); DWORD code; CString strDate; CString strBuf;

int index = m_List.GetItemCount(); int i,j = 0;

GetExitCodeThread(m_thr,&code); if (code != STILL_ACTIVE) { AfxMessageBox(\程序初始化失败!\\n请检查配置后重新运行!\ } else { CTime ttime = CTime::GetCurrentTime();

strDate.Format(\

ay());

strDate += ttime.Format(\

ofstream outfile(\outfile<

while (j < index) { for (i = 0;i < 12;i++) { strBuf = m_List.GetItemText(j,i); switch(i) { case 0: outfile<

}

}

case 7: outfile<

outfile.close();

AfxMessageBox(\数据已写入日志文件!\

GetDlgItem(IDC_STOP)->EnableWindow(FALSE); GetDlgItem(IDC_START)->EnableWindow(TRUE); GetDlgItem(IDC_START)->SetFocus();