Beispiel #1
0
///  заполняем данные в  грид и в XML фаиле

        private void OnAddRowIP(byte[] byteData, int nReceived)
        {
            IPHeader ipHeader = new IPHeader(byteData, nReceived);

            countpackets++;

            // выбираем правило записи

            switch (ipHeader.ProtocolType)
            {
            case Protocol.TCP:

                TCPHeader tcpHeader = new TCPHeader(ipHeader.Data, ipHeader.MessageLength);

                // считываем из потока данные в xml
                XmlAddPacket(countpackets.ToString(), ipHeader.SourceAddress.ToString(), ipHeader.DestinationAddress.ToString(),
                             ipHeader.Version, ipHeader.HeaderLength, ipHeader.DifferentiatedServices, ipHeader.TotalLength, ipHeader.Identification,
                             ipHeader.Flags, ipHeader.FragmentationOffset, ipHeader.TTL, ipHeader.ProtocolType.ToString(), ipHeader.Checksum, "",
                             tcpHeader.SourcePort, tcpHeader.DestinationPort, tcpHeader.SequenceNumber, tcpHeader.AcknowledgementNumber,
                             tcpHeader.HeaderLength, tcpHeader.Flags, tcpHeader.WindowSize, tcpHeader.Checksum, tcpHeader.UrgentPointer,
                             tcpHeader.Data);

                if (tcpHeader.DestinationPort == "53" || tcpHeader.SourcePort == "53")
                {
                    //    AddRowDNSProtocol RowDNSProtocol = new AddRowDNSProtocol(MakeDNS);
                    //    dgvParamProt.Invoke(RowDNSProtocol, new object[] { tcpHeader.Data, (int)tcpHeader.MessageLength });
                }

                break;

            case Protocol.UDP:

                UDPHeader udpHeader = new UDPHeader(ipHeader.Data, (int)ipHeader.MessageLength);

                // считываем из потока данные в xml
                XmlAddPacket(countpackets.ToString(), ipHeader.SourceAddress.ToString(), ipHeader.DestinationAddress.ToString(),
                             ipHeader.Version, ipHeader.HeaderLength, ipHeader.DifferentiatedServices, ipHeader.TotalLength, ipHeader.Identification,
                             ipHeader.Flags, ipHeader.FragmentationOffset, ipHeader.TTL, ipHeader.ProtocolType.ToString(), ipHeader.Checksum, "",
                             udpHeader.SourcePort, udpHeader.DestinationPort, udpHeader.Length, udpHeader.Checksum, udpHeader.Data);

                if (udpHeader.DestinationPort == "53" || udpHeader.SourcePort == "53")
                {
                    //    AddRowDNSProtocol RowDNSProtocol = new AddRowDNSProtocol(MakeDNS);
                    //    dgvParamProt.Invoke(RowDNSProtocol, new object[] { udpHeader.Data, Convert.ToInt32(udpHeader.Length) - 8 });
                }

                break;

            case Protocol.Unknown:
                break;
            }

            AddPacketToGrid();
        }
Beispiel #2
0
        ///  заполняем данные в  грид и в XML фаиле
        private void OnAddRowIP(byte[] byteData, int nReceived)
        {
            IPHeader ipHeader = new IPHeader(byteData, nReceived);
            countpackets++;

            // выбираем правило записи

            switch (ipHeader.ProtocolType)
            {
                case Protocol.TCP:

                    TCPHeader tcpHeader = new TCPHeader(ipHeader.Data, ipHeader.MessageLength);

                    // считываем из потока данные в xml
                    XmlAddPacket(countpackets.ToString(), ipHeader.SourceAddress.ToString(), ipHeader.DestinationAddress.ToString(),
                                 ipHeader.Version, ipHeader.HeaderLength, ipHeader.DifferentiatedServices, ipHeader.TotalLength, ipHeader.Identification,
                                 ipHeader.Flags, ipHeader.FragmentationOffset, ipHeader.TTL, ipHeader.ProtocolType.ToString(), ipHeader.Checksum, "",
                                 tcpHeader.SourcePort, tcpHeader.DestinationPort, tcpHeader.SequenceNumber, tcpHeader.AcknowledgementNumber,
                                 tcpHeader.HeaderLength, tcpHeader.Flags, tcpHeader.WindowSize, tcpHeader.Checksum, tcpHeader.UrgentPointer,
                                 tcpHeader.Data);

                    if (tcpHeader.DestinationPort == "53" || tcpHeader.SourcePort == "53")
                    {
                    //    AddRowDNSProtocol RowDNSProtocol = new AddRowDNSProtocol(MakeDNS);
                    //    dgvParamProt.Invoke(RowDNSProtocol, new object[] { tcpHeader.Data, (int)tcpHeader.MessageLength });
                    }

                    break;

                case Protocol.UDP:

                    UDPHeader udpHeader = new UDPHeader(ipHeader.Data,(int)ipHeader.MessageLength);

                    // считываем из потока данные в xml
                    XmlAddPacket(countpackets.ToString(), ipHeader.SourceAddress.ToString(), ipHeader.DestinationAddress.ToString(),
                                 ipHeader.Version, ipHeader.HeaderLength, ipHeader.DifferentiatedServices, ipHeader.TotalLength, ipHeader.Identification,
                                 ipHeader.Flags, ipHeader.FragmentationOffset, ipHeader.TTL, ipHeader.ProtocolType.ToString(), ipHeader.Checksum, "",
                                 udpHeader.SourcePort, udpHeader.DestinationPort, udpHeader.Length, udpHeader.Checksum, udpHeader.Data);

                    if (udpHeader.DestinationPort == "53" || udpHeader.SourcePort == "53")
                    {
                    //    AddRowDNSProtocol RowDNSProtocol = new AddRowDNSProtocol(MakeDNS);
                    //    dgvParamProt.Invoke(RowDNSProtocol, new object[] { udpHeader.Data, Convert.ToInt32(udpHeader.Length) - 8 });
                    }

                    break;

                case Protocol.Unknown:
                    break;
            }

            AddPacketToGrid();
        }