Exemplo n.º 1
0
        private void ShowDataPacket()
        {
            var filter = txtFilter.Text?.ToLower() ?? "";
            List <PCapPacket> source;

            lock (DataPacketsLock)
            {
                source = DataPackets.Where(row => row.Source.Contains(filter) ||
                                           row.Destination.Contains(filter) ||
                                           row.PacketType.ToString().ToLower().Contains(filter) ||
                                           row.PacketNumber.ToString().Contains(filter))
                         .ToList();
            }

            scrollPanel.Children.Clear();
            detailContainer.Children.Clear();
            seletedItem = null;
            scrollPanel.Children.AddRange(source.Select(p => new PacketListItem
            {
                PacketNumber      = p.PacketNumber,
                PacketSource      = p.Source,
                PacketDestination = p.Destination,
                PacketProtocol    = p.PacketType.ToString(),
                PacketLength      = p.Data?.Length ?? 0,
                Packet            = p,
                Foreground        = Colorize(p.Data)
            }));
            foreach (var item in scrollPanel.Children.Cast <PacketListItem>())
            {
                item.Click += Item_Click;
            }
        }
Exemplo n.º 2
0
        private void LoadFile(string filename)
        {
            using (var pCap = new PCapFile(new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)))
            {
                lock (DataPacketsLock)
                {
                    DataPackets = pCap.Where(p => p.PacketType != PCapPacketType.Other && !(p.IsBaseIpProtocol ||
                                                                                            (p.PortSource == 0 && p.PortDestination == 0) ||
                                                                                            p.Data == null ||
                                                                                            p.Data.Length == 0)).ToList();
                    //DataPackets = pCap.ToList();

                    // Clear statistics
                    searchStats.Clear();
                    DataPackets.ForEach(row =>
                    {
                        if (SearchStats.IsSearchPacket(row))
                        {
                            searchStats.Add(row);
                        }
                    });
                }
                txtFilter.Text = "";
                ShowDataPacket();
            }
        }
 public DataPackets.HttpResponseMessage Send(string method, Uri uri, DataPackets.HttpContent postData)
 {
     System.Diagnostics.Debug.WriteLine("Request: " + uri.ToString() + " ("+method+")");
     var httpRequestMessage = new HttpRequestMessage(method, uri, HttpContent.Create(postData.Content, postData.ContentType))
                                  {Headers = {ContentType = postData.ContentType}};
     var response = _httpClient.Send(httpRequestMessage);
     return ToNativeResponse(response);
 }
Exemplo n.º 4
0
        public DataPacket GenerateDataPacket()
        {
            var dataPacket = new DataPacket();

            dataPacket.Category     = UtilityMethods.RandomEnumValue <DataPacketCategory>();
            dataPacket.Mission      = this;
            dataPacket.Target       = Target;
            dataPacket.ReceivedYear = CurrentState.CurrentYear;
            DataPackets.Add(dataPacket);
            return(dataPacket);
        }
        private static HttpRequestMessage ToMicrosoftHttpRequest(DataPackets.HttpRequestMessage httpRequestMessage)
        {
            if (httpRequestMessage.Content == null || httpRequestMessage.Content.Content.Length == 0)
            {
                return new HttpRequestMessage(httpRequestMessage.Method, httpRequestMessage.Uri)
                            .WithAcceptHeader(httpRequestMessage);
            }

            return new HttpRequestMessage(httpRequestMessage.Method, httpRequestMessage.Uri, HttpContent.Create(httpRequestMessage.Content.Content, httpRequestMessage.Content.ContentType))
                                           .WithAcceptHeader(httpRequestMessage);
        }
        public static ErrorResponseException CreateException(DataPackets.HttpResponseMessage response, Errors errors)
        {
            var errorMessageBuilder = new StringBuilder();

            if (errors != null)
            {
                foreach (var error in errors)
                {
                    errorMessageBuilder.AppendLine(error.Id + ": " + error.Description);
                }
            }

            if (response != null && response.Content != null)
            {
                var line = string.Format("{0} {1}: {2}", (int) response.StatusCode, response.StatusCode,
                                            response.Content);

                errorMessageBuilder.AppendLine(line);
            }

            return new ErrorResponseException(response, errors, errorMessageBuilder.ToString());
        }
        public static HttpRequestMessage WithAcceptHeader(this HttpRequestMessage request, DataPackets.HttpRequestMessage httpRequestMessage)
        {
            if (httpRequestMessage != null && !string.IsNullOrEmpty(httpRequestMessage.AcceptContentType))
                request.Headers.Accept = new HeaderValues<StringWithOptionalQuality> { httpRequestMessage.AcceptContentType };

            return request;
        }
 public DataPackets.HttpResponseMessage Send(DataPackets.HttpRequestMessage httpRequestMessage)
 {
     var request = ToMicrosoftHttpRequest(httpRequestMessage);
     var response = _httpClient.Send(request);
     return ToNativeResponse(response);
 }
 public void SendAsync(string method, Uri uri, DataPackets.HttpContent postData, Action<DataPackets.HttpResponseMessage> httpClientCallback)
 {
     var httpRequestMessage = new HttpRequestMessage(method, uri, HttpContent.Create(postData.Content, postData.ContentType)) { Headers = { ContentType = postData.ContentType } };
     var rawRequestData = new AsyncRequest { PostData = postData, HttpClientCallback = httpClientCallback };
     _httpClient.BeginSend(httpRequestMessage, SendAsyncEnd, rawRequestData);
 }
 public void SendAsync(DataPackets.HttpRequestMessage httpRequestMessage, Action<DataPackets.HttpResponseMessage> httpClientCallback)
 {
     var request = ToMicrosoftHttpRequest(httpRequestMessage);
     var rawRequestData = new AsyncRequest { HttpClientCallback = httpClientCallback };
     _httpClient.BeginSend(request, SendAsyncEnd, rawRequestData);
 }
 public ApiClientException(string message, DataPackets.HttpResponseMessage response, Errors errors)
     : base(message)
 {
     Errors = errors;
     Response = response;
 }
 public ApiClientException(string message, DataPackets.HttpResponseMessage response)
     : this(message, response, null)
 {
 }
 public ErrorResponseException(DataPackets.HttpResponseMessage response, Errors errors, string message)
     : base(message)
 {
     Errors = errors;
     Response = response;
 }