Frage

Ich habe ein Programm zu schreiben, das Netzwerkpakete (Teil1-der einfache Teil) schnüffelt.
Und ich habe das Programm (Teil2) zu aktualisieren, so dass es in der Lage sein wird, Verbindungen zu beenden.
Die spezifischen Anforderungen sind:

  

Construct Rohpakete durch Datenverbindungsschicht und Netzwerk-Layer-Informationen genannt werden, einschließlich geeignete Quell- und Ziel-MAC- und IP-Adressen. Diese Pakete sollen die Verbindung beenden. Um dies zu tun, sollten Sie SOCK_RAW als Socket-Typ verwendet, um die Lage sein, selbst die Header-Informationen einzustellen.

Kann mir jemand ein paar Ideen auf dem zweiten Teil?
Sollte ich die Sitzung, wenden Sie einen DoS-Angriff auf einen der Benutzer kapern?

Alles was ich brauche ist ein paar Tipps, wie Sie die Verbindung zu beenden. Ich bin mit der Programmiersprache C, und dies ist eine Kurszuordnung für die Sicherheit natürlich.

War es hilfreich?

Lösung

Abhängig von, was Sie mit Verbindungen beenden. Sie könnte bedeuten, eine End-Punkt für eine TCP-Schaltung oder UDP-Stream bereitgestellt wird.

Oder Sie könnte bedeuten, eine akzeptable RST in der Mitte eines TCP-Stream sendet das Ende des Stroms anzuzeigen. von der anderen Seite unter anderem erwartet, dies zu erreichen, müssen Sie die Sequenznummer kennen.

So oder so ist es offensichtlich, Sie haben nicht die Aufmerksamkeit in der Klasse gezahlt. Der gesamte Punkt der Aufgabenstellung, wie es scheint, ist, dass Sie das rohe Layout von IP-Paketen verstehen zu zeigen und möglicherweise TCP / UDP. Ich schlage vor, Sie zu diesem Thema ein Lehrbuch kaufen (keinen Zweifel von Ihrem Lektor empfohlen) und / oder ein Lese von Wikipedia nehmen.

Andere Tipps

Für diese Aufgabe würde ich pypacp , die eine Python-Paketerfassung und Einspritzung Bibliothek. Pypcap verwendet Raw Sockets-Pakete zu schmieden. Wenn aus irgendeinem seltsamen Grund sind gezwungen, Sie C zu verwenden, dann wird dieses Projekt schwieriger. In diesem Fall sollten Sie libpcap verwenden, um die Leitung und die Raw-Socket-Bibliothek schnüffeln finden Sie auf der Plattform abhängen entwickeln auf.

Sie können die Linie schnüffeln suchen TCP-Sequenz-IDs. Auf der Grundlage dieser ID können Sie eine RST oder FIN schmieden eine Seite der Verbindung zu unterbrechen. Der schwierige Teil wird versucht, die TCP-Verbindung mit Raw-Sockets zu halten. Es wird fast unmöglich sein, die Anwendungsschicht Verbindung aufrecht zu erhalten, HTTP wäre ein einfaches Protokoll zu halten, aber wenn es http ist, es wäre einfacher, nur das Cookie kapern.

Ich kann Ihnen nicht mit C-Bibliotheken helfen - nicht meine Stärke, aber es scheint, wie sollte es da draußen etwas sein

.

Aber es scheint, wie das, was Sie versuchen, 2 teilweise zu tun ist, eine DOS zu verhindern, nicht führen!

Überprüfen Sie hier:

http://en.wikipedia.org/wiki/Denial-of-service_attack

für Sachen auf DoS-Attacken. Wie PP sagt, gibt es eine Reihe von Angriffen auf Verbindung Missbrauch im Zusammenhang, so dass Sie wollen, die man Ihren assigment, um herauszufinden, ist etwa -, dass man Sie mit Ihrem prof überprüfen benötigen. Zum Beispiel erwähnt die Wiki-Seite über SYN Floods - aber fast jedes verbindungsorientiertes Protokoll wird für einen Angriff gefährdet sein, der die Verbindung Pool mit zu vielen Verbindungsanforderungen füllt und sich dann nicht immer in der Nähe

.

Ich gehe davon aus, die Zuordnung zu lesen, dass Ihre Arbeit, um herauszufinden, ist, wie dies zu beheben, indem die Verbindungen zu schließen, dass der Angreifer geöffnet. Was bedeutet, Sie beide haben, um herauszufinden, wie der Angriff funktioniert, und dann herauszufinden, wie sich davon zu erholen.

TIPP: Schlagen Sie den Server mit einer Flut von close-Verbindungsanfragen ist kein Angriff. Es ist nicht so nützlich, entweder, weil Sie müssen nicht unbedingt die Verbindungen zu schließen, die geöffnet sind. Aber der Schaden ist durch Open-Verbindungsanfragen verursacht. Siehe hier:

http://en.wikipedia.org/wiki/SYN_flood

Für ein Beispiel.

Sie verwenden können libpcap mit dem Paket-Sniffing zu helfen. libpcap wurde von dem tcpdump-Team entwickelt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top