Ejemplo n.º 1
0
        /// <summary>
        /// Gets a pcap stat object and calculate bps and pps
        /// </summary>
        public static void device_OnPcapStatistics(object sender, SharpPcap.WinPcap.StatisticsModeEventArgs e)
        {
            // Calculate the delay in microseconds from the last sample.
            // This value is obtained from the timestamp that's associated with the sample.
            ulong delay = (e.Statistics.Timeval.Seconds - oldSec) * 1000000 - oldUsec + e.Statistics.Timeval.MicroSeconds;

            // Get the number of Bits per second
            ulong bps = ((ulong)e.Statistics.RecievedBytes * 8 * 1000000) / delay;

            /*                                       ^       ^
             |       |
             |       |
             |       |
             |              converts bytes in bits --        |
             |
             |          delay is expressed in microseconds --
             */

            // Get the number of Packets per second
            ulong pps = ((ulong)e.Statistics.RecievedPackets * 1000000) / delay;

            // Convert the timestamp to readable format
            var ts = e.Statistics.Timeval.Date.ToLongTimeString();

            // Print Statistics
            Console.WriteLine("{0}: bps={1}, pps={2}", ts, bps, pps);

            //store current timestamp
            oldSec  = e.Statistics.Timeval.Seconds;
            oldUsec = e.Statistics.Timeval.MicroSeconds;
        }
Ejemplo n.º 2
0
 void FormMain_OnPcapStatistics(object sender, StatisticsModeEventArgs e)
 {
 }
Ejemplo n.º 3
0
        private void update_statistics(object sender, StatisticsModeEventArgs e)
        {
            StatisticsModePacket statistics = e.Statistics;

            long delay = (long)((statistics.Timeval.Seconds - _oldseconds) * 1000000
                + (statistics.Timeval.MicroSeconds - _oldmicroseconds));

            _transferspeed = (statistics.RecievedBytes * 1000000) / delay / 1024;

            _message = format_message(_stopwatch.Elapsed, "Transferspeed", _transferspeed.ToString(), "kB/s");
            this.callback.on_transfer_speed_change(_message, this.results);
            this.main_view.text_to_logs(_message);

            _oldseconds = statistics.Timeval.Seconds;
            _oldmicroseconds = statistics.Timeval.MicroSeconds;
        }
Ejemplo n.º 4
0
        private static void getStatistics(object sender, StatisticsModeEventArgs stat)
        {     
            StatisticsModePacket statistics = stat.Statistics;
            
            long delay = (long) ((statistics.Timeval.Seconds - oldSec) *
                1000000 - oldUsec + statistics.Timeval.MicroSeconds);
            
            AllRecBytes += statistics.RecievedBytes;
            long bps = (statistics.RecievedBytes * 8 * 1000000) / delay;

            AllRecTcpUdpPackets += statistics.RecievedPackets;                    
            long pps = (statistics.RecievedPackets * 1000000) / delay;
                        
            string ts = statistics.Timeval.Date.ToLongTimeString();
                        
            if (bps != 0 || pps != 0)
            {
                Console.WriteLine("{0}: bps={1}, pps={2}", ts, bps, pps);
            }

            if (maxbps < bps) maxbps = bps;
            if (maxpps < pps) maxpps = pps;
                        
            oldSec = statistics.Timeval.Seconds;
            oldUsec = statistics.Timeval.MicroSeconds;


        }