title: C# Pcap.Net Send TCP, HTTP Packet not work
body: <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>