C# SharpPcap отправляет пакет Tcp

Я пытаюсь отправить пакет Tcp через SharpPcap на сервер, но это не сработает, может кто-нибудь мне помочь или объяснить, как я могу отправить TcpPackets с SharpPcap и Packet.Net.

Дополнительная информация: Я нюхаю соединение и пытаюсь отправить сообщение на сервер, если заработает определенный пакет.

Спасибо за прочтение!

0 ответов

У меня тоже такая же проблема. Я хочу изменить IP-адрес пакета с первого интерфейса и отправить пакет с другого интерфейса, но я вижу только пакет ARP вместо пакета TCP. Что я делаю не так?

private void device_OnPacketArrival(object sender, CaptureEventArgs e)
   {
       var time = e.Packet.Timeval.Date;
       var len = e.Packet.Data.Length;

       var packet = PacketDotNet.Packet.ParsePacket(e.Packet.LinkLayerType, e.Packet.Data);
       var tcpPacket = packet.Extract<PacketDotNet.TcpPacket>();

       if (tcpPacket != null)
       {
           var ipPacket = (PacketDotNet.IPPacket)tcpPacket.ParentPacket;
           System.Net.IPAddress srcIp = ipPacket.SourceAddress;
           System.Net.IPAddress dstIp = ipPacket.DestinationAddress;
           int srcPort = tcpPacket.SourcePort;
           int dstPort = tcpPacket.DestinationPort;

           if (IsHostOnly && srcIp.Equals(OwnPair.SourceIp))
           {
               ipPacket.SourceAddress = System.Net.IPAddress.Parse("10.0.4.15");
               tcpPacket.ParentPacket = ipPacket;

               TransmitDevice.SendPacket(tcpPacket);
           }

           Console.WriteLine("{0}:{1}:{2},{3} Len={4} {5}:{6} -> {7}:{8}",
               time.Hour, time.Minute, time.Second, time.Millisecond, len,
               srcIp, srcPort, dstIp, dstPort);

       }
   }
Другие вопросы по тегам