コード例 #1
0
        // 应用层
        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);
            }
        }
コード例 #2
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);
     }
 }
コード例 #3
0
        private void FTP(FtpPacket ftp)
        {
            if (ftp == null)
                return;

            List<CommandTypeHead> ftplist = ftp.CreatHeadList();
            if (ftplist.Count == 0)
                return;
            setInfo(ftplist);
        }
コード例 #4
0
ファイル: PacketTreeInfo.cs プロジェクト: XLONG96/NetWatcher
        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);
            }
        }
コード例 #5
0
        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);
            //加入选定模式
        }
コード例 #6
0
ファイル: PacketTreeInfo.cs プロジェクト: XLONG96/NetWatcher
        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);
        }
コード例 #7
0
        public void ParseProtocol(Packet packet, StatisticsRecord statisticsRecord)
        {
            FtpPacket ftpPacket = (FtpPacket)packet;

            statisticsRecord.ApplicationLayer = ftpPacket.GetType().Name.Replace("Packet", "");
        }