Текущий архив: 2005.07.25;
Скачать: CL | DM;
Вниз
WinSock2 на чистом API без форм! Может у кого заволялось? Найти похожие ветки
← →
NikNet © (2005-04-14 07:14) [0]Мастера!
Нужен простненьки Client/Server на чистом WinSock/WinApi
без всяких Forms,Classes,SysUtils
???
PLIZZZZZZZZ?
← →
Digitman © (2005-04-14 08:55) [1]
> простненьки
"простненьки" - это как ?
← →
atruhin © (2005-04-14 12:04) [2]А поисковик ни один не знаешь? В инете масса статей с примерами.
← →
Virus.exe © (2005-04-14 13:00) [3]
program scan;
{$APPTYPE CONSOLE}
{ Для использования winsock необходимо описать этот модуль в uses. }
uses
sysutils,winsock;
{ дефолтовый порт Socks прокси. Сюда можно вписать любой порт,
превратив наш сканнер, к примеру, в httpd (80 порт) сканнер. }
const
port = 1080;
{ Здесь объявляем переменные }
var
D:WSAData;
S:TSocket;
A:TSockAddr;
m1,m2,mask,val:String;
i:Integer;
begin
{ Если наш сканер запущен без параметров, выводим некоторую информацию.. }
if paramcount < 1 then
begin
writeln("Socks Scanner by har0n, har0n@gmx.net");
writeln("Example: scan.exe 127.0.0 1-255");
writeln("http://www.security.net.tf");
exit;
end
else
{ Если сканер запущен с параметрами, в переменную mask заносим 1-ый параметр,
в val 2-ой параметр }
begin
mask:=paramstr(1);
val:=paramstr(2);
{ Определяем диапазон сканирования}
m1:= copy(val,1,pos("-",val)-1);
m2:= copy(val,pos("-",val)+1,length(val));
writeln("- Scanning begin: "+mask+"."+m1+" - "+mask+"."+m2+" -");
writeln;
{ Если WSAStartup() возвращает не нулевое значение, выводим сообщение об ошибке
и выходим из программы}
if WSAStartup($101,D)<>0 then
begin
writeln("error..");
exit;
end;
{ Начинаем процесс сканирования }
for i:= strtoint(m1) to strtoint(m2) do
begin
{ Определяем тип семейства сокетов, и IP адрес для сканирования }
A.sin_family:=AF_INET;
A.sin_addr.S_addr:=inet_addr(pchar(mask+"."+inttostr(i)));
{ Создаем сокет }
S:=socket(AF_INET,SOCK_STREAM,0);
{ Если возвращено значение INVALID_SOCKET, выводим сообщение об ошибке }
if S=INVALID_SOCKET then
writeln("socket error");
{ Определяем порт (задается константой) }
A.sin_port:=htons(port);
{ Пытаемся подконнектиться, если удачно - выводим сообщение, что порт открыт,
в другом случае - сообщение о том, что порт закрыт (или недоступен) }
if connect(S,A,sizeof(A))=0 then
writeln(mask+"."+inttostr(i)+" port "+inttostr(port)+" opened") else
writeln(mask+"."+inttostr(i)+" port "+inttostr(port)+" closed");
end;
{ Завершаем работу с сокетами }
WSACleanup;
writeln;
writeln("- Scanning is completed -");
end;
end.
Пример взят с DelphiWorld
← →
Digitman © (2005-04-14 13:34) [4]
> Virus.exe © (14.04.05 13:00) [3]
ну и где тут "чистый API" ?
использование SysUtils уже предполагает "грязь".
← →
Verg © (2005-04-14 19:30) [5]И кто вас заставляет этой профонацией, типа "на чистом", заниматься?
"Чистоборцы" хреновы...
Только не лезьте в сети...
← →
NikNet © (2005-04-15 18:48) [6]Нафиг мне этот сканер НУЖЕН я же простым языком написал
Client/Server!!!
2Verg
Что бы меньше занимал!
Страницы: 1 вся ветка
Текущий архив: 2005.07.25;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.013 c