Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.30;
Скачать: CL | DM;

Вниз

Проверить доступность порта на удаленной машине   Найти похожие ветки 

 
mma   (2003-08-10 05:42) [0]

Как программно узнать открыт ли указанный порт на удаленной машине? Если можно, киньте пример...
Заранее спасибо


 
Orion2 ©   (2003-08-10 06:46) [1]

Попытайся открыть соединение с этим поротом, если получиться - порт открыть (это для TCP)


 
Hawk2   (2003-08-11 00:39) [2]

Да и меня интересует эта тема. Orion2 объясните поподробнее, а то я пробовал по примеру из книжки, но он очень примитивный (пример чата), а хотелось бы чтото вроде сканера портов.


 
Hawk2   (2003-08-11 11:46) [3]

Ну скажите хоть что нибудь, не верю что никто не знает.


 
panov ©   (2003-08-11 12:06) [4]

Определитесь сначала с инструментом, которым пользоваться будете.

WinAPI, TClientSocket, Indy и пр... ?


 
Hawk2   (2003-08-11 12:32) [5]

TClientSocket


 
Карелин Артем ©   (2003-08-11 12:45) [6]

Ну и что? Указал хост и порт. Вызвал Connect. Если ошибки нет, порт открыт. Это для блокируемого сокета.
Для неблокируемого сокета следи за событиями компонента.


 
panov ©   (2003-08-11 12:50) [7]

Для провеки, открыт ли порт на удаленном хосте, выполняем такой код:

ClientSocket1.Address := "192.168.0.10";
ClientSocket1.Port := 321;
ClientSocket1.Open;


для обработки результата используем:

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage("Port is Opened");
Socket.Close;
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ShowMessage("Port is Closed!");
ErrorCode := 0;
end;


 
Hawk2 ©   (2003-08-11 13:18) [8]

Спасибо, щас попробую.


 
Hawk2 ©   (2003-08-11 18:06) [9]

А скажите еще такое, вот я например определил что на машине открыт например 21 порт, как мне прочитать (что именно) какие данные передает эта машина в сеть?


 
panov ©   (2003-08-11 18:35) [10]

А скажите еще такое, вот я например определил что на машине открыт например 21 порт, как мне прочитать (что именно) какие данные передает эта машина в сеть?

Это называется снифер. Это добро ищи инете.
Но с удаленного хоста весьма проблематично получить пакеты, которые он передает и принимает.


 
Sural   (2003-08-11 21:44) [11]


> panov

Вот ему(и не только ему) и интересно, как можно написать сниффер на Делфях. Интерес не в том, чтобы сниффер заполлучит, а чтобы его самому написать.
Так что, кто знает, как это можно осуществить, просьба поделиться мыслями :)


 
nikkie ©   (2003-08-11 22:20) [12]

>Вот ему(и не только ему) и интересно, как можно написать сниффер на Делфях.
А что толку писать, если уже сказали - "с удаленного хоста весьма проблематично получить пакеты, которые он передает и принимает". Невозможно.


 
Sural   (2003-08-11 22:39) [13]


> Невозможно.

нет ничего не возможного.

всё что создал человек можно взломать = идеальной защиты не существует ©hackzone.


 
mma   (2003-08-12 03:17) [14]

спасибо большое :)


 
Hawk2 ©   (2003-08-12 09:49) [15]

To Nikkie: Можно, все можно, стоит только захотеть.
To Sural: Я нашел один примерчик, но он во-первых применим к Novell, но автор убеждает что будет работать в любой системе, ну возможно после некоторых доработок, а во-вторых он написан на ассемблере, с которым, к моему огромнейшему сожелению, я не знаком, ну так в общих чертах.


 
nikkie ©   (2003-08-12 10:28) [16]

если кто не в курсе - снифер работает только в локальной сети. с удаленного компьютера поймать пакеты невозможно.


 
Hawk2 ©   (2003-08-12 13:30) [17]

А в локальноий сети и нужно!


 
Sural   (2003-08-12 23:13) [18]

Так... Нашёл один примерчик...

http://vaktyjd.besthost.ru/vr-online/5_2002/sniffer.htm
а вот исходник:
http://vaktyjd.besthost.ru/vr-online/hack/source/sniff.zip

а вообще если поискать, то наких статей кучу найти можно...


 
Hawk2 ©   (2003-08-13 11:23) [19]

To Sural: А у тебя этот пример заработал? У меня нет. Вобщем то программа компилируется, но не работает функция PacketOpenAdapter.


 
master   (2003-09-03 00:33) [20]

Ребята помогите !!!!
Есть листбокс с кучей айпи нада просканить всех на 139 порт причем использовать компонент там где можно устанавливать таймаут(чтоб не висло). Так вот проблема в написании нужно сделать обрабочик ошибок. Так чтоб если есть ошибка то он не останавливал цикл а переходил к новому ип! Помогите плз... Подкиньте совет или пример плз на эмэйл а то инет отрубица скоро!!!
cracker@dr.karelia.ru


 
Saint_Byte   (2003-09-03 16:56) [21]

Да Скана Надо Нмап пользовать -)
А порт на открытость можно проверить его открывание и наблюдание ошибки -)


 
Verg ©   (2003-09-04 11:47) [22]

s := socket( AF_INET, SOCK_RAW, IPPROTO_IP );
ZeroMemory(@sa, sizeof(sa) );
sa.sin_family := AF_INET;
S1:=eAddr.Text;
sa.sin_addr.s_addr := inet_addr(pchar(<IP адрес твоей карточки >));
if bind(s, @sa, sizeof(sa))=SOCKET_ERROR then exit;
flag:=1;
ioctlsocket(s, SIO_RCVALL, flag);
....
count := recv( s, Buffer[0], sizeof(Buffer), 0 );
if( count >= sizeof(TIPHeader) ) then
begin
...



Ну, и там по IP пакету разбираешься - кто шлет, кому шлет, какой порт и т.д. и т.п.

Работает в Win2k и старше


 
Verg ©   (2003-09-04 11:52) [23]


> Вот ему(и не только ему) и интересно, как можно написать
> сниффер на Делфях. Интерес не в том, чтобы сниффер заполлучит,
> а чтобы его самому написать.


Начните писать не сниферы, разберитесь с winsock, winsock2... Там и вопросы, подобные subj исчезнут сами собой...


 
master   (2003-09-05 20:45) [24]

А сниффер вроде может ловить пакеты если компы в одной подсети находяться (висят на одном хабе). И если хаб не очень умный =)


 
Anatoly Podgoretsky ©   (2003-09-05 20:55) [25]

Hawk2 © (12.08.03 13:30) [17]
Последнее время все чаще и чаще применяются свичи!



Страницы: 1 вся ветка

Текущий архив: 2003.10.30;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.017 c
14-98867
Мазут Береговой
2003-10-10 10:06
2003.10.30
Братцы! Оказывается лампочку изобрел совсем не Ильич!


8-98749
nuflin
2003-06-30 22:28
2003.10.30
TRichEdit


1-98595
jack128
2003-10-13 19:21
2003.10.30
Проблема с фреймами


1-98677
kosm
2003-10-21 11:24
2003.10.30
Кто работал с ExpressBar?


3-98431
Praco
2003-10-08 15:52
2003.10.30
ADO + DBF = ужасно медленно