コード例 #1
0
        private void CurrentDevice_OnPacketArrival(object sender, CaptureEventArgs e)
        {
            MetinPacket p =
                new MetinPacket(TcpPacket.GetEncapsulated(Packet.ParsePacket(e.Packet.LinkLayerType, e.Packet.Data)),
                                _authPort, _gamePort, ProcessTxt.Text);


            if (_needToMerge)
            {
                if (p.Length > 0 && (p.SourcePort == _mergingPacket.SourcePort))
                {
                    _mergingPacket.MergePacket(p);
                }
                else
                {
                    if (!(!p.PSH && pshChk.Checked))
                    {
                        PacketList.Items.Add(p);
                    }
                    return;
                }

                if (p.Length != 1452)
                {
                    _needToMerge = false;
                }

                return;
            }

            if (p.Length == 1452)
            {
                _needToMerge   = true;
                _mergingPacket = p;
                return;
            }

            if (_mergingPacket != null && p.Length != 0)
            {
                PacketList.Items.Add(_mergingPacket);
                _mergingPacket = null;
            }

            if (!(!p.PSH && pshChk.Checked))
            {
                PacketList.Items.Add(p);
            }
        }
コード例 #2
0
        private void PacketList_SelectedIndexChanged(object sender, EventArgs e)
        {
            PacketDetailTxt.Clear();
            if (PacketList.SelectedItem == null)
            {
                return;
            }

            MetinPacket p = (MetinPacket)PacketList.SelectedItem;

            if (p.Merged)
            {
                PacketDetailTxt.AppendText("Merged Packet\n");
            }

            PacketDetailTxt.AppendText("ID:\t\t\t0x" + p.Id.ToString("X2") + "\n");
            PacketDetailTxt.AppendText("ID:\t\t\t0x" + p.Id + "\n");
            PacketDetailTxt.AppendText("PSH:\t\t\t" + p.PSH + "\n");
            PacketDetailTxt.AppendText("Length:\t\t\t" + p.Length + "\n");
            PacketDetailTxt.AppendText("Route:\t\t\t" + p.Route + "\n");
            PacketDetailTxt.AppendText("Crypted:\t\t" + p.Crypted + "\r\n\r\n");
            PacketDetailTxt.AppendText("Data:\t\t\t" + ByteSupport.ByteArrayToHexString(p.Data, true) + "\r\n\r\n");
            if (p.Crypted)
            {
                PacketDetailTxt.AppendText("Decrypted Data:\t\t" +
                                           ByteSupport.ByteArrayToHexString(p.DecryptedData, true) + "\r\n\r\n");
            }

            PacketDetailTxt.AppendText("ASCII Data:\t\t" + ByteSupport.ByteArrayToAsciiString(p.Data) + "\r\n\r\n");

            if (p.Crypted)
            {
                PacketDetailTxt.AppendText("ASCII Decrypted Data:\t" +
                                           ByteSupport.ByteArrayToAsciiString(p.DecryptedData) + "\r\n\r\n");
            }
        }