![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверить доступность порта на удаленной машине
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. Если ошибки нет, порт открыт. Это для блокируемого сокета.
Для неблокируемого сокета следи за событиями компонента.