begin process at 2012 02 12 08:42:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Applications Linux

 > 0X0SCAN_PORT V1

0X0SCAN_PORT V1


 Information sur la source

Note :
Aucune note
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 :26/07/2010 00:29:46 Vu :3 172

Auteur : 0x0syscall

Ecrire un message privé
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Name : 0X0SCAN_PORT  V1
Author : 0x0syscall
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
26 juillet 2010 00:29:46 :
update

 Sources du même auteur

REMOTE POST PHP WITH SOCKET LINUX

 Sources de la même categorie

Source avec une capture COLORIMÈTRE NUMÉRIQUE LINUX par valchek
Source avec Zip TRAITEMENTS D'IMAGES AU FORMAT PGM AVEC LES ALGORITHMES DE C... par lemout
Source avec Zip ALGORITHME ACO INTERFACE GTK par RyBeN
Source avec Zip COMPRESSER SES SAUVEGARDES SMSBACKUPRESTORE (ANDROID) EN C A... par ThalLab
SIMPLE SCANNER DE PORTS par Vb6Malade

 Sources en rapport avec celle ci

Source avec une capture COLORIMÈTRE NUMÉRIQUE LINUX par valchek
SIMPLE SCANNER DE PORTS par Vb6Malade
IP,MASK,MAC SOUS LINUX par Twinuts
Source avec Zip SCANPORT V2 BETA par shadow1779
Source avec Zip SCANNER DE PORT V1.3 par firemax

Commentaires et avis

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

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..."

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

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 ;)

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...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,607 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales