public void PrintOpenPorts() { shouldPrint = true; device.StartCapture(); var tasks = new List <Task>(); for (ushort i = 1; i < 10000; i++) { var ethernetPacket = GenerateEthernetPacket(i, TcpType.Syn); var i1 = i; var task = Task.Run(async() => { var timeoutMs = 128; for (var j = 0; j < 4; j++) { device.SendPacket(ethernetPacket); if (openPorts.Contains(i1) || filteredPorts.Contains(i1)) { return; } await Task.Delay(timeoutMs * j); } }); tasks.Add(task); } Task.WaitAll(tasks.ToArray()); device.Close(); }
static void Main(string[] args) { var devices = CaptureDeviceList.Instance; device = (WinPcapDevice)devices[0]; device.Open(); //Generate a random packet Packet bytes = CreateMalwarePacket(); string byteString = ""; byte[] bytesP = bytes.Bytes; foreach (byte b in bytesP) { byteString += Convert.ToString(b, 2); } Thread t = new Thread(new ParameterizedThreadStart(SendPacket)); t.Start(bytes); while (true) { Thread.Sleep(1000); } t.Abort(); Thread.Sleep(1000); device.Close(); Console.WriteLine("-- Device closed."); Console.Write("Hit 'Enter' to exit..."); Console.ReadLine(); }
public void vDispose() { if (null != mclsWLANDevice) { mclsWLANDevice.StopCapture(); mclsWLANDevice.Close(); } }
private void toolBtn_StopCapture_Click(object sender, EventArgs e) { if (BackgroundThreadStop == true) { CaptureDevice.StopCapture(); BackgroundThreadStop = false; backgroundThread.Join(); CaptureDevice.Close(); toolBtn_StartCapture.Enabled = true; toolBtn_StopCapture.Enabled = false; toolBtn_SetAdapter.Enabled = true; } else { MessageBox.Show("未开始拦截封包无法停止!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void Shutdown() { if (device != null) { device.StopCapture(); device.Close(); device.OnPacketArrival -= arrivalEventHandler; device.OnCaptureStopped -= captureStoppedEventHandler; device = null; } }
public static void Cleanup() { try { if (device != null && device.Opened) { device.Close(); } } catch { } }
public override void send_file(String devicename, String ipadd, int port) { _stopwatch.Start(); scan_transfer_speed(devicename, ipadd); scan_signal_quality_and_rssi(); if (port < 10000) { send_file_tcp(ipadd, port); } else { send_file_udp(ipadd, port); } _timer_sq_rssi.Stop(); if (_device.Started) { _device.Close(); } _stopwatch.Stop(); }
// stop listening on a device public void StopDevice() { Started = false; if (Device == null) { return; } Device.StopCaptureTimeout = TimeSpan.FromMilliseconds(200); Device.StopCapture(); Device.Close(); }
private void stop() { chooseComboBox.Enabled = true; stopButton.Enabled = false; stopToolStrip.Enabled = false; startButton.Enabled = true; startToolStrip.Enabled = true; dev.OnPacketArrival -= packetArrivalHandler; try { if (dev.Started) { dev.StopCapture(); } if (dev.Opened) { dev.Close(); } } catch (PcapException) { } }
public void Stop() { if (devices.Count > 0) { WinPcapDevice dev = devices[settings.Device]; dev.StopCapture(); dev.Close(); } if (writer != null && !writer.IsClosed) { writer.Close(); } ProgressChanged(1, 1); }
private void monitor_recv_runtime() { //Open the device for capturing int readTimeoutMilliseconds = 1000; selectedWinPcapDevice.Open(DeviceMode.Promiscuous, readTimeoutMilliseconds); string filter = $"tcp and host {target_ip}"; selectedWinPcapDevice.Filter = filter; // Capture packets using GetNextPacket() while (onListen) { RawCapture rawCapture = selectedWinPcapDevice.GetNextPacket(); if (rawCapture == null) { continue; } // use PacketDotNet to parse this packet and print out // its high level information Packet parsedPacket = Packet.ParsePacket(rawCapture.LinkLayerType, rawCapture.Data); if (parsedPacket.HasPayloadPacket) { TcpPacket tcp = parsedPacket.Extract <TcpPacket>(); if (tcp != null) { if (tcp.HasPayloadData && tcp.PayloadData.Length > 0) { bool isROServerInfoPacket = ragnarokPacket.verifyServerInfo(tcp.PayloadData, tcp.PayloadData.Length); if (isROServerInfoPacket) { onListen = false; handleServerInfo(tcp); mainform.Invoke(mainform.notifyMonitorFinish_Var); } } } } Console.WriteLine(parsedPacket.ToString()); } selectedWinPcapDevice.Close(); }
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { try { // Close the pcap device _device.Close(); } catch (Exception exception) { Logger.Log(exception.Message, Severity.Error); } Properties.Settings.Default.IgnoredComIds = packetListView1.Settings.IgnoreComid; Properties.Settings.Default.AutoScroll = packetListView1.Settings.AutoScroll; Properties.Settings.Default.IgnoreDuplicatedPD = packetListView1.Settings.IgnoreDuplicatedPD; Properties.Settings.Default.IgnoreLoopback = packetListView1.Settings.IgnoreLoopback; Properties.Settings.Default.IgnoreUnknownData = packetListView1.Settings.IgnoreUnknownData; Properties.Settings.Default.Save(); }
private void getPackets() { //_device.OnPacketArrival += // new PacketArrivalEventHandler(device_OnPacketArrival); if (openfileFlag == true) { _device.Open(); _device_stat.Open(); } else { if (done == true) { try { _device.Close(); _device_stat.Close(); done = false; } catch (Exception er) { MessageBox.Show(er.Message, "ERROR"); } } // Register our handler function to the 'packet arrival' event _device.OnPacketArrival += new PacketArrivalEventHandler(device_OnPacketArrival); _device_stat.OnPcapStatistics += new StatisticsModeEventHandler(device_OnPcapStatistics); // Open the device for capturing int readTimeoutMilliseconds = 1000; //_device_stat.Open(); //_device_stat.Mode = SharpPcap.WinPcap.CaptureMode.Statistics; _device.Open(DeviceMode.Promiscuous, readTimeoutMilliseconds); } // Start the capturing process _device.StartCapture(); Globals.StartTime = DateTime.Now; }