Question

Je dois écrire un programme qui renifle les paquets réseau (part1-la partie la plus simple).
Et je dois mettre à jour le programme (part2) afin qu'il soit en mesure de mettre fin à des connexions.
Les exigences spécifiques sont les suivants:

  

Construire des paquets bruts en spécifiant les informations de couche de liaison de données et la couche de réseau, y compris les adresses source et destination appropriée MAC et IP. Ces paquets sont destinés à mettre fin à la connexion. Pour ce faire, vous devez utilisé SOCK_RAW comme type de socket pour pouvoir définir les informations d'en-tête par vous-même.

Quelqu'un peut-il me donner quelques idées sur la deuxième partie
Dois-je pirater la session, appliquer une attaque DoS sur un des utilisateurs?

Tout ce que je besoin est quelques conseils sur la façon de mettre fin à la connexion. J'utilise le langage de programmation C, ce qui est une mission de cours pour le cours de sécurité.

Était-ce utile?

La solution

Cela dépend de ce que vous entendez par interrompre les connexions. Vous pourriez dire fournir un point final pour un circuit TCP ou UDP flux.

Ou vous pourriez dire envoyer un RST acceptable au milieu d'un flux TCP pour indiquer la fin du flux. Pour ce faire, vous devez connaître le numéro de séquence attendu par l'autre côté, entre autres.

De toute façon, il est évident que vous ne l'avez pas fait attention en classe. Le point entier de la mission, il semble, est de montrer que vous comprenez la disposition brute de paquets IP et éventuellement TCP / UDP. Je vous suggère d'acheter un livre sur le sujet (sans doute recommandé par votre enseignant) et / ou de prendre une lecture de Wikipedia.

Autres conseils

Pour cette mission, j'utiliseraient pypacp , qui est une capture de paquets de python et d'injection bibliothèque. Pypcap utilise raw sockets pour forger des paquets. Si pour une raison étrange, vous êtes obligé d'utiliser C alors ce projet sera plus difficile. Dans ce cas, vous devez utiliser libpcap pour renifler la ligne et la bibliothèque de raw socket dépendra de la plate-forme que vous développez sur.

Vous pouvez renifler la ligne à la recherche de séquence TCP ID de. Sur la base de cet identifiant, vous pouvez forger une RST ou FIN pour briser un côté de la connexion. Le plus dur va essayer de maintenir la connexion TCP avec les sockets raw. Il sera presque impossible de maintenir la connexion de la couche d'application, HTTP serait un protocole plus facile à maintenir, mais si elle était http, il serait plus facile de pirater le cookie.

Je ne peux pas vous aider avec les bibliothèques C - pas mon point fort, mais il semble qu'il devrait y avoir quelque chose là-bas

.

Mais il semble que ce que vous essayez de faire en partie 2 est d'empêcher un DOS, ne cause pas un!

Vérifier ici:

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

pour des choses sur les attaques DoS. Comme PP dit, il y a un certain nombre d'attaques liées à une mauvaise utilisation de la connexion, de sorte que vous voulez savoir laquelle votre assigment est sur le point - que l'on vous devez vérifier avec votre prof. Par exemple, la page Wiki ci-dessus mentionne SYN inondations - mais presque tout protocole orienté connexion sera à risque d'une attaque qui remplit le pool de connexion avec trop de demandes de connexion et ne jamais les fermer

.

Je suppose, lire l'affectation, que votre travail est de savoir comment résoudre ce problème en fermant les connexions que l'attaquant a ouvert. Ce qui signifie que vous les deux doivent comprendre comment fonctionne l'attaque, puis comprendre comment récupérer.

SUGGESTION: Frapper le serveur avec un flot de requêtes gros connexion est pas une attaque. Ce n'est pas utile, que ce soit, puisque vous fermez pas nécessairement les connexions ouvertes. Mais les dommages sont causés par les requêtes de connexion ouverte. Voir ici:

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

Pour un exemple.

vous pouvez utiliser libpcap pour aider à l'inhalation de vapeurs de paquets. libpcap a été développé par l'équipe de tcpdump.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top