示例#1
0
 /// <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);
     }
 }
示例#2
0
        private void POP3(Pop3Packet pop3Packet)
        {
            if (pop3Packet == null)
            {
                return;
            }
            if (POP3Node == null)
            {
                POP3Node = CreatNode("POP3", 7);
            }
            POP3Node.Nodes.Clear();

            List <CommandTypeHead> pop3List = pop3Packet.CreatHeadList();

            if (pop3List.Count == 0)
            {
                return;
            }
            //显示数据
            setAppTreeNode(pop3List, POP3Node);
            //加入选定模式
        }
示例#3
0
 private int ExtractEmail(NetworkTcpSession tcpSession, TcpPacket tcpPacket, Pop3Packet pop3Packet)
 {
     return(this.ExtractEmail(tcpSession, tcpPacket, pop3Packet.PacketStartIndex + pop3Packet.ParsedBytesCount, pop3Packet.PacketEndIndex - pop3Packet.PacketStartIndex + 1 - pop3Packet.ParsedBytesCount));
 }