LINUX.ORG.RU

Сканер портов


0

0

Ниже предлагается весьма быстрый сканер открытых TCP-портов.

/*
* TCP-ports scaner. Build 1
* Copyright (c) 1999 Andi Peredri
* Distributed under GPL.
* Please send any comments, bug reports, and suggestions to
* root@tomchuk.niiit.kiev.ua
* Compiling: gcc -o scanport scanport.c
*/

#include <netinet/in.h>

int main(int argc, char *argv[]){

int sock;
unsigned short int port;
struct sockaddr_in addr;

if(argc!=2){
puts("Usage: scanport host\n");
return 1;}


inet_aton(argv[1],&(addr.sin_addr));

for(port=0;port<=65534;port++){

sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(sock<0){
perror("Socket");
return 1;}

addr.sin_port=(port>>8)+(port<<8);
addr.sin_family=AF_INET;
if(connect(sock,(struct sockaddr *)&addr,sizeof(addr))){
close(sock);
continue;}
printf("Detected port: %5d\n",port);

if(shutdown(sock,2)<0){
perror("Shutdown");
return 1;}
close(sock);}

puts("Done.\n");
return 0;
}

★★

особенно порадовала строчка :
addr.sin_port=(port>>8)+(port<<8);

Z0termaNN
()

Что первое в голову пришло :) Хотя на Java это могло выглядеть так:
addr.sin_port=port<<8; (Циклический сдвиг)

ANDI ★★
() автор топика
Ответ на: комментарий от ANDI

мда, а если inet_htons попробовать использовать, а то ведь кроме как на интеле и ваксе это работать не будет

Z0termaNN
()
23 ноября 2000 г.

МУЖИКИ, А ПОД WINDOWS СЛАБО? ТОЛЬКО БЫСТРО!

anonymous
()
4 октября 2001 г.

Привет, как жизнь?

anonymous
()

Все порты не отсканируешь :) Проверял! Например порт 1863 не сканируется. Кто знает как его отсканировать?

anonymous
()

Вопрос: а какое разрешение у этого сканера? И нужны ли для него драйвера? Спасибо. Сейчас использую Mustek вполне доволен. Порт SCASI сканируется нормально, чего и вам желаю. Пишите. www.Вася.ru Миша.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.