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

Вниз

проверка открытых портов (в частности 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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.032 c
3-1088527992
Piter
2004-06-29 20:53
2004.08.15
Как искать по русски в Blob без учета регистра?


1-1091139635
SSSSS
2004-07-30 02:20
2004.08.15
Сортировка строк!!!


14-1090481423
CHES
2004-07-22 11:30
2004.08.15
пример использования интерфейсов


14-1091281401
VID
2004-07-31 17:43
2004.08.15
Где скачать красивый трёхмерный бильярд ?


1-1091210357
Alexander /Brut/
2004-07-30 21:59
2004.08.15
использование буфера обмена по средствам SendMessage...





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