global security disclosure

easyscan.c

easyscan.c
Posted Nov 5, 1999
Authored by shadowpenguin

The simple full-connection TCP port scanner. This utility lists the servers that open the specified port.

tags | tcp
systems | unix
MD5 | 1434dbaba3484bca0063b32ae1df9b67

easyscan.c

Change Mirror Download
/*=============================================================================
Simple fullconnect port scanner - Easyscan 1.00
The Shadow Penguin Security (http://shadowpenguin.backsection.net)
Written by UNYUN (shadowpenguin@backsection.net)
=============================================================================
*/
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <string.h>
/*
#include <netinet/in.h>
#include <netdb.h>
*/

#define TIMEOUT_V 2 /* Connection Timeout value */
#define MAX_IPLEN 16

int sock;

main()
{
int portscan(int, char *);
int separation(char *,unsigned long *);
unsigned long ips,ipe,ip;
char buf[MAX_IPLEN],buf2[MAX_IPLEN];
int portn;
FILE *fp;

printf("Simple fullconnect port scanner - Easyscan 1.00\n");
printf("The Shadow Penguin Security, Inc.\n\n");
printf("Start IP address : ");
scanf("%s",buf);
if (separation(buf,&ips)==-1){
printf("Error : Invalid IP address.\n");
exit(1);
}
printf("End IP address : ");
scanf("%s",buf2);
if (separation(buf2,&ipe)==-1){
printf("Error : Invalid IP address.\n");
exit(1);
}
printf("Port : ");
scanf("%d",&portn);

if ((fp=fopen("log.txt","w"))==NULL){
printf("Can not write log file.\n");
exit(1);
}
fprintf(fp,"Start IP address : %s\n",buf);
fprintf(fp,"End IP address : %s\n",buf2);
fprintf(fp,"Port : %d\n",portn);
fprintf(fp,"\n\n");
for (ip=ips;ip<=ipe;ip++){
sprintf(buf,"%lu.%lu.%lu.%lu", ip>>24,
(ip&0x00ff0000)>>16,
(ip&0x0000ff00)>>8,
ip&0x000000ff);
printf("%15s...",buf);
fprintf(fp,"%15s...",buf);
if (portscan(portn,buf)==0){
printf("Connected!\n");
fprintf(fp,"Connected!\n");
}else{
printf("no\n");
fprintf(fp,"no\n");
}
}
fclose(fp);
}

int separation(char *ipaddr,unsigned long *ipl)
{
int i,j,n;
char buf[MAX_IPLEN];
int ip[4];
unsigned long d;

for (n=0,j=0,i=0;i<=strlen(ipaddr);i++){
if (ipaddr[i]=='.' || i==strlen(ipaddr)){
buf[j]=0;
ip[n]=atoi(buf);
if (ip[n]<0 || ip[n]>255) return (-1);
n++; j=0;
}else{
buf[j]=ipaddr[i];
j++;
}
}
if (n!=4) return (-1);
d=256;
*ipl=ip[3]+ip[2]*d+ip[1]*d*d+ip[0]*d*d*d;
return(0);
}

int portscan(int port, char *ipaddr)
{
struct sockaddr_in addr, server;
void timeoutfunc();

sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock < 0){
printf("Socket creation error");
return(-1);
}

memset((char *) &server, 0, sizeof(server));
server.sin_family = AF_INET;
server.sin_addr.s_addr = htonl(INADDR_ANY);
server.sin_port = 0;

if (bind(sock, (struct sockaddr *) &server, sizeof(server)) < 0) {
close(sock);
printf("Bind error ");
return (-2);
}

addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(ipaddr);
addr.sin_port = htons(port);

signal(SIGALRM, timeoutfunc);
alarm(TIMEOUT_V);

if (connect(sock,(struct sockaddr *)&addr,sizeof(addr))!=0){
close(sock);
return (-3);
}
close(sock);
return (0);
}
void timeoutfunc()
{
close(sock);
}

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

May 2012

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    37 Files
  • 2
    May 2nd
    53 Files
  • 3
    May 3rd
    33 Files
  • 4
    May 4th
    4 Files
  • 5
    May 5th
    10 Files
  • 6
    May 6th
    17 Files
  • 7
    May 7th
    19 Files
  • 8
    May 8th
    36 Files
  • 9
    May 9th
    34 Files
  • 10
    May 10th
    35 Files
  • 11
    May 11th
    20 Files
  • 12
    May 12th
    18 Files
  • 13
    May 13th
    11 Files
  • 14
    May 14th
    27 Files
  • 15
    May 15th
    58 Files
  • 16
    May 16th
    54 Files
  • 17
    May 17th
    25 Files
  • 18
    May 18th
    53 Files
  • 19
    May 19th
    9 Files
  • 20
    May 20th
    15 Files
  • 21
    May 21st
    25 Files
  • 22
    May 22nd
    32 Files
  • 23
    May 23rd
    35 Files
  • 24
    May 24th
    26 Files
  • 25
    May 25th
    25 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2012 Packet Storm. All rights reserved.

close