如何用delphi监控本机的所有端口,就象有些软件防火墙一样?

解决方案 »

  1.   

    端口扫描程序    
      program Project1; 
    {$APPTYPE CONSOLE}uses winsock,sysutils,windows;conststartport=1;stopport=30;vars:tsocket;i,j,error:integer;server:tsockaddrin;wsa:twsadata;beginwriteln('===============================================================================');writeln('== Very Slow Port Scanner==');writeln('== Edit [email protected] ==');writeln('===============================================================================');writeln(' ====');writeln(' ====');writeln('=====================================================================');writeln(' ====');wsastartup(makeword(1,1),wsa);server.sin_family:=AF_INET;server.sin_addr.S_addr:=inet_addr('127.0.0.1');for i:=startport to stopport dobegins:=socket(AF_INET, SOCK_STREAM, 0);server.sin_port:=htons(i);error:=connect(s,server,sizeof(server));if error=0 thenbeginwrite(' == Scan port: '+inttostr(i));for j:=0 to 5-length(inttostr(i)) dowrite(' ');writeln(' [ok] ==');closesocket(s);end;end;writeln(' ====');writeln('=====================================================================');writeln(' ====');writeln(' ====');writeln('============================================================================');writeln('== Thank you for your test! Good luck!==');writeln('== Edit [email protected] ==');writeln('===========================================================================');wsacleanup();readln;end.