techian.com

A Blog With No Limits

Advertisement

Port Scanner in C

Posted on August 10, 2008 by admin


Deprecated: Function split() is deprecated in /home/techian/public_html/wp-content/plugins/yet-another-related-posts-plugin/magic.php on line 304
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdlib.h>
#include <errno.h>

/* Main programs starts*/
int main(int argc, char **argv)
{
   int   sd;         //socket descriptor
   int    port;         //port number
   int   start;         //start port
   int    end;         //end port
   int    rval;         //socket descriptor for connect
   char    response[1024];      //to receive data
   char   *message="shell";       //data to send
   struct hostent *hostaddr;   //To be used for IPaddress
   struct sockaddr_in servaddr;   //socket structure

   if (argc < 4 )
   {
      printf("------Created By www.Softhardware.co.uk-----------n");
      printf("--------------------------------------------------n");
      printf("Usage: ./tscan <IPaddress> <Start Port> <End Port>n");
      printf("--------------------------------------------------n");
      return (EINVAL);
   }
   start = atoi(argv[2]);
   end   = atoi(argv[3]);
   for (port=start; port<=end; port++)
   {

         //portno is ascii to int second argument

   sd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); //created the tcp socket
   if (sd == -1)
   {
     perror("Socket()n");
     return (errno);
   }

   memset( &servaddr, 0, sizeof(servaddr));

   servaddr.sin_family = AF_INET;
   servaddr.sin_port = htons(port); //set the portno

   hostaddr = gethostbyname( argv[1] ); //get the ip 1st argument

   memcpy(&servaddr.sin_addr, hostaddr->h_addr, hostaddr->h_length);

   //below connects to the specified ip in hostaddr

   rval = connect(sd, (struct sockaddr *) &servaddr, sizeof(servaddr));
   if (rval == -1)
   {
   printf("Port %d is closedn", port);
   close(sd);
   }
   else
   printf("Port %d is openn",port);

   close(sd);         //socket descriptor
   }

}

[for unix platform]
this piece of code is created by  teamwww.Softhardware.co.uk

I would also like to share :

  1. Making a simple port scanner
  2. Code Blue v5.0 source
  3. TIC-TAC-TOE game In C Language
  4. TIC-TAC-TOE in C
  5. A generic or .com and .exe infector in C

Comments

No Responses to “Port Scanner in C”

Write a Comment