// 应用层 private void parseApp(byte[] payloadData, ushort srcPort, ushort dstPort) { if (payloadData.Length == 0) { return; } AppSrcPort = srcPort; AppDstPort = dstPort; if (isAnalysProtocol(80)) { protocol = "HTTP"; flowProtocol += "&" + "http"; HttpPacket http = new HttpPacket(payloadData); HTTP(http); } else if (isAnalysProtocol(21)) { protocol = "FTP"; flowProtocol += "&" + "ftp"; FtpPacket ftp = new FtpPacket(payloadData); FTP(ftp); } }
/// <summary> /// 添加应用层协议 /// </summary> /// <param name="payloadData">载荷数据</param> /// <param name="SourcePort">源端口</param> /// <param name="DestinationPort">目的端口</param> private void AppNode(byte[] payloadData, ushort SourcePort, ushort DestinationPort) { if (payloadData.Length == 0) { return; } AppsrcPort = SourcePort; AppdstPort = DestinationPort; //HTTP 80 if (isAnalysProtocol(80)) { HttpPacket http = new HttpPacket(payloadData); Http(http); } //smtp 25 else if (isAnalysProtocol(25)) { SmtpPacket smtp = new SmtpPacket(payloadData); SMTP(smtp); } //pop3 110 else if (isAnalysProtocol(110)) { Pop3Packet pop3 = new Pop3Packet(payloadData); POP3(pop3); } //DNS 53 else if (isAnalysProtocol(53)) { DnsPacket dns = new DnsPacket(payloadData); DNS(dns); } //ftp 21 else if (isAnalysProtocol(21)) { FtpPacket ftp = new FtpPacket(payloadData); FTP(ftp); } //DHCP 67 68 else if (isAnalysProtocol(67) || isAnalysProtocol(68)) { DhcpPackets dp = new DhcpPackets(payloadData); DHCP(dp); } else if (isAnalysProtocol(520)) { RipPacket rp = new RipPacket(payloadData); RIP(rp); } //ssdp 1900 else if (isAnalysProtocol(1900)) { SSDPPacket ssdp = new SSDPPacket(payloadData); SSDP(ssdp); } }
private void FTP(FtpPacket ftp) { if (ftp == null) return; List<CommandTypeHead> ftplist = ftp.CreatHeadList(); if (ftplist.Count == 0) return; setInfo(ftplist); }
private void appNext(byte[] payloadData, ushort srcPort, ushort dstPort) { if (payloadData.Length == 0) { return; } AppSrcPort = srcPort; AppDstPort = dstPort; if (isAnalysProtocol(80)) { HttpPacket http = new HttpPacket(payloadData); HTTP(http); } else if (isAnalysProtocol(21)) { FtpPacket ftp = new FtpPacket(payloadData); FTP(ftp); } }
private void FTP(FtpPacket ftpPacket) { if (ftpPacket == null) { return; } if (FTPNode == null) { FTPNode = CreatNode("FTP", 7); } FTPNode.Nodes.Clear(); List <CommandTypeHead> ftpList = ftpPacket.CreatHeadList(); if (ftpList.Count == 0) { return; } //显示数据 setAppTreeNode(ftpList, FTPNode); //加入选定模式 }
private void FTP(FtpPacket ftp) { if (ftp == null) { return; } if (FTPNode == null) { FTPNode = new TreeNode(); } FTPNode.Nodes.Clear(); FTPNode.Text = string.Format("File Transfer Protocol (FTP)"); List <CommandTypeHead> ftplist = ftp.CreatHeadList(); if (ftplist.Count == 0) { return; } setAppTreeNode(ftplist, HTTPNode); }
public void ParseProtocol(Packet packet, StatisticsRecord statisticsRecord) { FtpPacket ftpPacket = (FtpPacket)packet; statisticsRecord.ApplicationLayer = ftpPacket.GetType().Name.Replace("Packet", ""); }