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

Вниз

проверка открытых портов (в частности UDP)   Найти похожие ветки 

 
RAshka ©   (2004-06-13 01:59) [0]

Вопрос - как, такие программы, как LanSpy, NetSecurityScan и др. выдают список всех открытых портов в течении 30 секунд (TCP и UDP). Пытался я открывать сокет функцией "socket", так если порт закрыт - программа подвисала более чем на 5 секунд, а просканировать 65K портов... это уже не шутка.

Также меня интересует, как проверить открыт ли UDP-порт (функцией socket это сделать не получается).

Вот пример кода (на всякий случай):


function process_CheckPort(strIP:String;port:Integer):Boolean;
var
  WSAData    : TWSAData;
  WrkSocket  : TSocket;
  SockAddrIn : TSockAddrIn;
begin
  Result:=false;

  if WSAStartup(WINSOCK_VERSION, WSAData) = NO_ERROR then
  begin
     ZeroMemory(@SockAddrIn, sizeof(SockAddrIn));
     WrkSocket:=socket(PF_INET, SOCK_STREAM, 0);
     SockAddrIn.sin_family:=AF_INET;
     SockAddrIn.sin_port:=htons(port);
     SockAddrIn.sin_addr.S_addr:=inet_addr(PAnsiChar(strIP));

     if WrkSocket<>INVALID_SOCKET then
     begin
        if connect(WrkSocket, SockAddrIn, sizeof(SockAddrIn))<>SOCKET_ERROR then
           Result:=true;
        CloseSocket(WrkSocket);
     end;

     WSACleanup;
  end;
end;


 
Verg ©   (2004-06-13 11:18) [1]

TCP сканеры портов используют множество сокетов в неблоуируюем режиме с мультиплекстированием.

Про UDP - можно узнать лишь только то, что какой-то порт закрыт и то не наверняка. Отправляются датаграммы на заданный порт и если возникает ошибка WSAECONNRESET, то этот порт точно никто не обслуживает в данный момент. А если ошибка не возникает, то.... то это ничего не значит :)) - то ли порт открыт, то ли ICMP с данного хоста не отправляются, то ли ICMP до твоего хоста не доходят и т.д....


 
Verg ©   (2004-06-13 11:49) [2]

Да, и вот еще что, для UDP ошибка WSAECONNRESET будет наблюдаться при попытке приема с сокета, через который была отправлена датаграмма.



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

Форум: "Сети";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.049 c
3-1090424668
GanibalLector
2004-07-21 19:44
2004.08.15
Возможно ли это ???


1-1091188614
dprimakov
2004-07-30 15:56
2004.08.15
Видеопамять


3-1090584922
sapsi
2004-07-23 16:15
2004.08.15
Добавить строку таблицы в поле Мемо


6-1087045291
Никита
2004-06-12 17:01
2004.08.15
Подключение к интернету при помощи Delphi


1-1091205920
DreymanD
2004-07-30 20:45
2004.08.15
Глючит открытие файлов способом ShellExecute





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский