Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.009 c
3-98512
AKA
2003-10-08 21:53
2003.10.30
Capability not supported.


3-98470
Dim!S
2003-10-10 08:06
2003.10.30
Колонка в DBGrid


1-98655
Ev1972
2003-10-17 09:35
2003.10.30
Как рисовать круглые кнопки


3-98474
European
2003-10-08 01:11
2003.10.30
Разноцветный потомок DbGrid


1-98622
BOA_KAA
2003-10-16 16:58
2003.10.30
DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский