Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Страницы:   1 2

mma ©   (2003-08-10 05:42:00) 

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


Anatoly Podgoretsky   (2003-09-05 20:55:00) [1]

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


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

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


Verg   (2003-09-04 11:52:00) [3]


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


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


Verg   (2003-09-04 11:47:00) [4]

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 и старше


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

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


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

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


Hawk2   (2003-08-13 11:23:00) [7]

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


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

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

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

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


Hawk2   (2003-08-12 13:30:00) [9]

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


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

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


Hawk2   (2003-08-12 09:49:00) [11]

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


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

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


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


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

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

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


nikkie   (2003-08-11 22:20:00) [14]

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


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


> panov

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


panov   (2003-08-11 18:35:00) [16]

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

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


Hawk2   (2003-08-11 18:06:00) [17]

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


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

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


panov   (2003-08-11 12:50:00) [19]

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

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;


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо