Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

0X0SCAN_PORT V1


Information sur la source

Catégorie :Applications Linux Classé sous : scan, scanner, port, linux, ip Niveau : Débutant Date de création : 30/04/2008 Date de mise à jour : 01/05/2008 16:24:16 Vu : 2 294

Note :
Aucune note

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Name : 0X0SCAN_PORT  V1
Author : 0x0syscall
         Haksyn Security Team
Date : 30/04/2008

Scanner de base sous linux qui scan une plage de port.              
Dans la prochaine version il y aura :          

-scan une plage d'ip.    
-scan une plage de port.      
-identifie le service utilisé par le port ouvert.

        
 

Source

  • #include "stdio.h"
  • #include "unistd.h"
  • #include "stdlib.h"
  • #include "netdb.h"
  • #include "sys/types.h"
  • #include "sys/socket.h"
  • #include "netinet/in.h"
  • #define MAX_PORT 65535
  • char syntax()
  • {
  • printf("\n=>Scan port by 0x0syscall\n");
  • printf("-------------------------\n");
  • printf("=>Syntax : <file> <host> <port_start_scan> <port_end_scan>\n\n");
  • return 0;
  • }
  • char port()
  • {
  • printf("\nERREUR\n");
  • printf("------\n");
  • printf("Le port doit être inferieur à 65535\n");
  • printf("et le port de debut doit être inférieur au port de fin.\n\n");
  • return 0;
  • }
  • int main(int argc, char **argv[])
  • {
  • if (argc < 4)
  • {
  • syntax();
  • return 0;
  • }
  • int start;
  • int end;
  • start = atoi(argv[2]);
  • end = atoi(argv[3]);
  • if(end > MAX_PORT)
  • {
  • port();
  • return 0;
  • }
  • if(start > end)
  • {
  • port();
  • return 0;
  • }
  • int prt;
  • int mysocket;
  • int mysocket2;
  • int srv_connect;
  • int sockaddr_long;
  • struct sockaddr_in sockaddr_mysocket;
  • sockaddr_long = sizeof(sockaddr_mysocket);
  • sockaddr_mysocket.sin_family = PF_INET;
  • sockaddr_mysocket.sin_addr.s_addr = inet_addr(argv[1]);
  • FILE *fp;
  • fp=fopen(argv[1], "a");
  • printf("\nPORT STATUS \n");
  • printf("-----------------\n");
  • for(prt=start;prt<=end;prt++)
  • {
  • sockaddr_mysocket.sin_port = htons(prt);
  • mysocket2 = socket(PF_INET, SOCK_STREAM, 0);
  • if(mysocket2 == -1)
  • perror("");
  • srv_connect = connect(mysocket2, (struct sockaddr*)&sockaddr_mysocket, sockaddr_long);
  • if (srv_connect != -1)
  • {
  • printf("%d Ouvert \n", prt);
  • fprintf(fp, "Port %d ouvert\n", prt);
  • }
  • close(fp);
  • close(mysocket2);
  • }
  • printf("\n"); // pour faire plus propre ;)
  • close(mysocket);
  • return 0;
  • }
#include "stdio.h"
#include "unistd.h"
#include "stdlib.h"
#include "netdb.h"
#include "sys/types.h"
#include "sys/socket.h"
#include "netinet/in.h"

#define MAX_PORT 65535


char syntax()
{
        printf("\n=>Scan port by 0x0syscall\n");
	printf("-------------------------\n");
	printf("=>Syntax : <file> <host> <port_start_scan> <port_end_scan>\n\n");
	return 0;
}

char port()
{
	printf("\nERREUR\n");
	printf("------\n");
	printf("Le port doit être inferieur à 65535\n");
	printf("et le port de debut doit être inférieur au port de fin.\n\n");
	return 0;
}

int main(int argc, char **argv[])
{
	if (argc < 4)
		{
		syntax();
	  	return 0;
		}
	
	int start;
	int end;
	start = atoi(argv[2]);
	end   = atoi(argv[3]);
		
	if(end > MAX_PORT)
		{
		port();
		return 0;
		}

	if(start > end)
		{
		port();
		return 0;
		}
			
			int prt;
			int mysocket;
			int mysocket2;
			int srv_connect;
			int sockaddr_long;
	
			struct sockaddr_in sockaddr_mysocket;
        		sockaddr_long = sizeof(sockaddr_mysocket);

				sockaddr_mysocket.sin_family = PF_INET;
				sockaddr_mysocket.sin_addr.s_addr = inet_addr(argv[1]);
				
				FILE *fp;
				fp=fopen(argv[1], "a");

                                printf("\nPORT    STATUS \n");
                                printf("-----------------\n");
				
                                               
				for(prt=start;prt<=end;prt++)
					{
						sockaddr_mysocket.sin_port = htons(prt);

						mysocket2 = socket(PF_INET, SOCK_STREAM, 0);
						if(mysocket2 == -1)
						perror("");
				
						srv_connect = connect(mysocket2, (struct sockaddr*)&sockaddr_mysocket, sockaddr_long);
						
						if (srv_connect != -1)
							{
							printf("%d	Ouvert	\n", prt);
			    	   		    	fprintf(fp, "Port %d ouvert\n", prt);
						   	}
						close(fp);
						close(mysocket2);
					}
		
	printf("\n"); // pour faire plus propre ;)
	close(mysocket);
	return 0;

}

Historique

30 avril 2008 20:15:06 :
ajout commentaire plus modification de la description
01 mai 2008 16:22:37 :
modification bug.
01 mai 2008 16:24:16 :
correction bug

Commentaires et avis

signaler à un administrateur
Commentaire de uxtobirza le 01/06/2008 19:21:08

ça marche pas, et je suis certain que cette source n'a pas été testée
je m'explique

même en faisant ça,

#pragma argsused
#include "stdio.h"
#include "stdlib.h"
#include "sys/types.h"
#include <winsock2.h>
#include <windows.h>
#pragma comment(lib,"ws2_32.lib")
#define MAX_PORT 65535
char syntax();
char port();

il y a un problème avec argv et argc
le fichier sortie est vide
le socket ne connecte pas
il n'y a pas de prototypes
les globales sont déclarées après le début

pas glop pas glop

signaler à un administrateur
Commentaire de 0x0syscall le 01/06/2008 19:34:56

La source a bien été testée par moi :) et elle fonctionne très bien :)
tu dois être sous windows et mon code fonctionne que sous linux, comme j'ai cité dans ma description "Scanner de base sous linux..."

signaler à un administrateur
Commentaire de uxtobirza le 01/06/2008 21:40:07

testé avec devcpp et borland c++ sous win xp
plus de 30 erreurs empêchent la compilation dans les deux cas (les mêmes)
même après correction des erreurs, rien ne marche

signaler à un administrateur
Commentaire de 0x0syscall le 02/06/2008 11:26:10

sous windows l'utilisation de la fonction socket n'est pas la même d'où les 30 erreurs.

test le sous linux ;)

signaler à un administrateur
Commentaire de uxtobirza le 03/06/2008 10:12:26

ok je vais essayer

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

[Linux] Obtenir l'adresse IP Local [C] [ par ZedMaTrix ] Hello à tous !! Voilà, il me semble que j'avais posté, je sais plus ( je retrouve plus le poste )... <img src="http://www.sited scanner port c [ par scti2004 ] Bonjour, j'ai une application que je d&#233;veloppe qui a pour but de scanner le port SMTP d'un parc informatique constitu&#233; de milliers de PC po Cherche scanner d'ip en promt Dos travaille remuneré !!! [ par trhilkil ] Bonjours,Vu que je ne sais pas programmer je voudrais vous demandez si un de vous pourrais me faire un scanner a multi ip ex : 134.1.1.1 &#224; 138.54 RTS du port série Linux [ par niel50 ] quelqu'un sait il comment modifier le RTS d'une liaison s&#233;rie sous linux de mani&#232;re &#224; mettre le port en received apres un envoi ( une s Communiquer avec un port USB en Linux [ par yasmin ] Salut @ tous Je developpe le driver d'un microcontrolleur sur linux et je voudrais savoir comment communiquer avec le port USB en C et sur linux. D'ap utilisation du port serie sou linux qt en c++ [ par zemil ] Bonjour!!  j'ai besoin utilisé le port serie 1 et de pouvoir changer étas des sortie tx, dtr, rts, a 1 ou a 0  et eventuelment lire les entrées et je [FTP] Schema de fonctionnement [ par ZedMaTrix ] Bonjours à tous !Bon je me fais ma petite classe FTP donc, et là je bloque un peu sur les commandes PORT et PASV.Y a un moment j'avais déjà tout codé Probleme de port pour un serveur dédié de CS 1.6 [ par paramotdam ] Salut,Voilà j'ai un problème de port sur counter strike 1.6.Je me connecte sur mon serveur en lan et quand des personnes viennent, je leur demande l'i scan IP [ par julien81 ]


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,780 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.