Note that there are some explanatory texts on larger screens.

plurals
  1. POC# Pcap.Net Send TCP, HTTP Packet not work
    primarykey
    data
    text
    <p>I will using Pcap.Net 0.10.0 (67076) for send TCP or HTTP packet but not work, only work with UDP Packet?? I can see UDP Packet showing in TCPViewer but now show with TCP or HTTP packet.</p> <p>I using windows 7 64bit but i really build application x86 platform.</p> <p>Here is my code. </p> <pre><code>using System; using System.Collections.Generic; using System.Linq; using PcapDotNet.Base; using PcapDotNet.Core; using PcapDotNet.Packets; using PcapDotNet.Packets.Arp; using PcapDotNet.Packets.Dns; using PcapDotNet.Packets.Ethernet; using PcapDotNet.Packets.Gre; using PcapDotNet.Packets.Http; using PcapDotNet.Packets.Icmp; using PcapDotNet.Packets.Igmp; using PcapDotNet.Packets.IpV4; using PcapDotNet.Packets.Transport; using System.Text; namespace PcapTest { class Program { static void Main(string[] args) { // Retrieve the device list from the local machine IList&lt;LivePacketDevice&gt; allDevices = LivePacketDevice.AllLocalMachine; if (allDevices.Count == 0) { Console.WriteLine("No interfaces found! Make sure WinPcap is installed."); return; } // Print the list for (int i = 0; i != allDevices.Count; ++i) { LivePacketDevice device = allDevices[i]; Console.Write(String.Format("{0}. {1}", (i + 1), device.Name)); Console.WriteLine(device.Description != null ? String.Format(" ({0})", device.Description) : " (No description available)"); } int deviceIndex = 0; do { Console.WriteLine(String.Format("Enter the interface number (1-{0}):", allDevices.Count)); string deviceIndexString = Console.ReadLine(); if (!int.TryParse(deviceIndexString, out deviceIndex) || deviceIndex &lt; 1 || deviceIndex &gt; allDevices.Count) { deviceIndex = 0; } } while (deviceIndex == 0); // Take the selected adapter PacketDevice selectedDevice = allDevices[deviceIndex - 1]; // Open the output device using (PacketCommunicator communicator = selectedDevice.Open(69559, PacketDeviceOpenAttributes.Promiscuous, 1000)) // read timeout { communicator.SendPacket(BuildHttpPacket()); } Console.ReadKey(); } private static Packet BuildHttpPacket() { EthernetLayer ethernetLayer = new EthernetLayer { Source = new MacAddress("01:01:01:01:01:01"), Destination = new MacAddress("02:02:02:02:02:02"), EtherType = EthernetType.None, // Will be filled automatically. }; IpV4Layer ipV4Layer = new IpV4Layer { Source = new IpV4Address("99.99.99.99"), CurrentDestination = new IpV4Address("111.90.147.168"), Fragmentation = IpV4Fragmentation.None, HeaderChecksum = null, // Will be filled automatically. Identification = 123, Options = IpV4Options.None, Protocol = null, // Will be filled automatically. Ttl = 100, TypeOfService = 0, }; TcpLayer tcpLayer = new TcpLayer { SourcePort = 4050, DestinationPort = 80, Checksum = null, // Will be filled automatically. SequenceNumber = 100, AcknowledgmentNumber = 50, ControlBits = TcpControlBits.Acknowledgment, Window = 100, UrgentPointer = 0, Options = TcpOptions.None, }; HttpRequestLayer httpLayer = new HttpRequestLayer { Version = HttpVersion.Version11, Header = new HttpHeader(new HttpContentLengthField(11)), Body = new Datagram(Encoding.ASCII.GetBytes("hello world")), Method = new HttpRequestMethod(HttpRequestKnownMethod.Get), Uri = @"http://pcapdot.net/", }; PacketBuilder builder = new PacketBuilder(ethernetLayer, ipV4Layer, tcpLayer, httpLayer); return builder.Build(DateTime.Now); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload