Public paste
net hw
By: ryan | Date: Oct 10 2006 00:50 | Format: None | Expires: never | Size: 822 B | Hits: 1430

  1.  
  2. #include        "unp.h"
  3.  
  4. int
  5. main(int argc, char **argv)
  6. {
  7.         int                     sockfd, i;
  8.         struct sockaddr_in      servaddr;
  9.  
  10.         if (argc != 2)
  11.                 err_quit("usage: a.out <IPaddress>");
  12.         for(i=1; i<1023; i++)
  13.         {
  14.  
  15.         if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
  16.                 err_sys("socket error");
  17.  
  18.         bzero(&servaddr, sizeof(servaddr));
  19.         servaddr.sin_family = AF_INET;
  20.         servaddr.sin_port   = htons(i);
  21.         if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0)
  22.                 err_quit("inet_pton error for %s", argv[1]);
  23.  
  24.         if (connect(sockfd, (SA *) &servaddr, sizeof(servaddr)) == 0)
  25.                 printf("Port %d available.n", i);
  26.         close(sockfd);
  27.         }
  28.  
  29.         exit(0);
  30. }
  31.