Wie erhalten Sie ein rohen TCP-Paket in C #?

8

Ich möchte ein Roh-TCP-Paket erhalten und es dann mit derselben Arbeitslast zurücksenden.

Es sollte ungefähr so ​​aussehen:

%Vor%

HINWEIS: Ich brauche das TCP-Paket und nicht den Ethernet-Rahmen.

    
Boppity Bop 14.06.2012, 14:07
quelle

3 Antworten

6

Wenn Sie den Socket als unformatierten Socket implementieren, haben Sie Zugriff auf das gesamte Paket (und müssen in der Tat alles über das Paket selbst handhaben).

Verwenden Sie SocketType.Raw und ProtocolType.Raw beim Erstellen des Sockets.

Seien Sie sich bewusst, dass Sie mit den Details von TCP umgehen müssen, wenn Sie Ihren Socket auf diese Weise implementieren.

Als Referenz finden Sie hier die MSDN-Dokumentation zur Socket-Klasse: Ссылка

    
dodexahedron 15.06.2012, 08:13
quelle
2

Sie können die pcapDotNet-Bibliothek verwenden.

Ссылка

    
Ahmad 28.07.2015 08:52
quelle
0

Sie müssen Paket-Sniffer verwenden, wo Sie Filter Ihrer Wahl setzen können und auf der Grundlage davon auch reagieren können.

.Net Wrapper um WinPcap kann sich als hilfreich für Sie erweisen.

    
Nitin Gupta 15.06.2012 12:03
quelle

Tags und Links