L'utilitaire FrameIP est un générateur de trame IP. Vous avez enfin la
possibilité de créer une trame IP manuellement en choisissant tous les champs
des entêtes
IP,
ICMP,
IGMP,
TCP,
UDP et autres. Cela peut vous permettre de tester une
nouvelle attaque, une maquette ou tous besoins personnalisés.
L'utilitaire est basé sur un seul EXE et ne s'installe pas. Il fonctionne en s'appuyant
entièrement sur la pile IP de votre Système. Dans ce cas, vous n'aurez pas
besoin de Dll spécifique en plus, ni d'autres fichiers et ni de driver du type
Winpcap. L'autonomie sera très intéressante.
Posez vos questions, remarques,
demande d'évolution et retour d'expérience sur le
Forum dédié aux outils
- Winsock2 calcul directement les
valeurs des champs ip_checksum, ip_length et ip_tos. Donc impossibilité de spécifier des
valeurs.
- Sous 2003, l'Ip spoofing est bloqué.
|
2005.03.14 |
V1.8.3.9 |
- Ajout d'un
Htons manquant sur le port source UDP. |
|
2004.08.13 |
V1.7.3.9 |
- Remplacement
des Strcp par Memcpy en insérant une variable géant la taille des
chaînes de caractères. Ceci gère donc maintenant les 00 dans les chaînes
hexa.
- Sélection par défaut de la saisie des data plutôt que la longueur.
Changement du port source Udp par defaut de 0 à 5000. |
|
2004.09.24 |
V1.6.3.8 |
- Les calculs
des checksum Icmp Igmp Tcp et Udp étaient faux si l'on modifiait les
data. Intégration de la variable Data indépendamment de la valeur des
champs. |
|
2004.08.25 |
V1.5.3.8 |
- Ajout du
check Hexa permettant d'indiquer que les Data saisies sont en Hexa. |
| |
|
- Buffer initialisée après 64535 octets afin d'éviter le
plantage dû au dépassement de sa déclaration en char[65535];
- Ajout de la possibilité de minimiser la fenêtre.
- Problème lors de la fermeture de FrameIP quand le bouclage est activé.
FrameIP.exe reste toujours en process actif. Pour solutionner, j'ai
déclaré ON_WM_CLOSE() afin d'appeler la nouvelle fonction void
CFrameIpDlg::OnClose() qui, lors de la fermeture de la dialogbox, stop
alors la boucle afin de libérer le process.
- L'icône ne s'affiché plus. Il manquait la déclaration dans le fichier .rc
: IDR_MAINFRAME ICON "FrameIp.ico".
- Suppresion des deux boutons Spin TCP ack et Tcp séquence
qui ne fonctionnaient pas dû à la déclaration de la variable trop grande
(64 bits). |
| 2004.02.20 |
V1.4 |
- Gestion des erreurs d'initiation des fonctions WSAStartup,
socket et setsockopt.
- Intégration de l'erreur 10013 indiquant qu'il faut être administrateur
de la machine pour utiliser les socket en mode raw. |
| 2004.02.19 |
V1.4 |
- Création d'un champ Edit afin d'afficher les résultats
d'envoi.
- Affichage du résultat de l'envoi.
- Desactivation du bouton Send lors de son appuis et activation lors de la
fin de l'envoi.
- Ajout du bouton clear pour nettoyer le champ Edit affichant les
résultats de l'envoi.
- Le retour chariot \r\n s'affichait en | solution en activant le mode
multi ligne dans les propriétés du champ Edit.
- Intégration dans la boucle de la fonction liberation_du_jeton()
permettant de rendre la main à la fenêtre principale.
- Lorsque le check loops était coché, le spin du nombre de fois n'était
pas désactivé. Résolution de problème.
- Affichage du nombre de trame envoyées.
- Intégration d'une pause entre l'envoi de chaque trame. Basé sur le champ
timeout. |
| 2004.02.15 |
V1.4 |
- Résolution du champ -tcp_reserved à cheval sur deux unsigned
char. Séparation dans l'entête TCP par reserved et reserved2. Copie de
la fonction de frameip.ex (console).
- Vérification de tous les besoins en htons et htonl afin d'inverser la
lecture. Merci à Eric Lalitte.
Ne rien faire pour les variables de type unsigned char (8 bits).
Htons sur toutes les variables de type unsigned short (16 bits).
Htonl sur toutes les variables de type unsigned long (32 bits).
- Résolution du problème où la modification manuel du champ edit checksum
pour l'icmp, igmp, tcp et udp ne modifiait pas le champ edit hexa
correspondant.
- Remplacement du spin tcp_control par 6 check box afin préciser les flags.
- Remplacement du spin udp_length par un check box afin de permettre le
calcul automatique.
- Intégration des nouveaux check box tcp_flag et udp_length dans la
gestion des readonly.
- Remplacement du spin tcp_offset par un check box afin de permettre le
calcul automatique.
- Relecture du code.
- Suppression des 57 warning principalement sur la comparaison ou le
transfert de deux variables de type différents. |
| 2004.02.14 |
V.14 |
- Remplacement du champ edit ip_flags par 3 tois check None,
DF et MF.
- Remplacement du champ spin pour ip_length par un check box afin de
permettre le calcul automatique.
- Résolution du problème où la modification manuel du champ edit
ip_checksum ne modifiait pas le champ edit hexa ip.
- Séparation du champ ip_offset dans les des variables de l'entête IPv4
offset et offset2. Copie de la fonction de frameip.ex (console).
- Correction de l'erreur d'interprétation de la dimention de TCP_offset.
J'ai donc migré le champ tcp_reserved sur 6 bits au lieu de 4. |
| 2004.02.13 |
V1.3 |
- Correction du calcul du checksum IP grâce à la version 3.7
de la librairie.
- Désactivation du calcul automatique du checksum IP lorsqu'il est
desactivé (case à cocher). |
| 2004.02.08 |
V1.3 |
- Résolution du problème de division par zéro dans le cadre du
champ data vide.
- Correction du problème d'envoi des data lors de la selection de la
taille des données. Création d'une nouvelle variable data au lieu
d'utiliser m_edit_data pour l'envoi. |
| 2004.02.07 |
V1.3 |
- Remplacement du spin ip_type par un check afin de gérer la
relation avec le choix Tcp, udp, icmp et etc.
- Correction du problème d'affichage du nom du champ hexa de l'entête
suppérieur à IP pour ne pas dire 4.
- Mise à jour du champ hexa lors de la modification de checkbox data.
- Mise à jour dynamique du champs static data devant l'affichage hexa. |
| 2004.02.06 |
V1.3 |
- Insertion du module d'envoi dans le bouton Send. |
| 2003.05.27 |
V1.2 |
- Résolution du problème d'affichage des Data en Hexa dans le
cas d'une taille à 0. Solutionné en initialisant tampon_char2.
- Changement de nom des variables externe de la Dialog Box Class Ip
Address. |
| 2003.05.26 |
V1.2 |
- Affichage de champs Hexa l'un au dessus de l'autre pour
qu'ils soient plus long.
- Affichage Hexa des Data. |
| 2003.05.25 |
V1.1 |
- Désactivation du bouton Get Igmp en fonction de la sélection
des checkbox.
- Suppression des variables locales.
- Ajout des OnBn sur les champs Taille et Data.
- Ajout d'un Spin pour le champ Taille. |
| 2003.05.24 |
V1.1 |
- Ajout des 3 boutons Get permettant l'affichage de la fenêtre
de saisie d'adresse IP. |
| 2003.05.23 |
V1.0 |
- Désactivation des Spin en même tant de les Edit. |
| 2003.05.21 |
V1.0 |
- Utilisation des fonctions GetWindowText et SetWindowText.
- Création d'une procédures OnChange par champ Edit. |
| 2003.05.20 |
V1.0 |
- La compilation ne fonctionnait plus depuis le passage à
Microsoft .net. Résolution en compilant la Lib en Multiprocess. |
| 2003.04.26 |
V1.0 |
- Création de la Mfc.
- Ajout de l'icône en copiant les deux fichier .ico et .rc2.
- Ajout du menu About.
- Ajout de la procédure d'affichage de l'About avec la récupération dans
la librairie.
- Création des Champs et des variables.
- Résolution du problème du range des Spin ne supportant pas une valeur
max à 65535. L'utilisation de SetRange32 au lieu de SetRange solutionne
le problème.. |