tcp端口扫描(TCP端口扫描单进程 计算机网络实验西北工业大学)

      最后更新:2023-12-29 12:33

      什么是端口扫描?

      一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行。 在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。 通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。 什么是扫描器 扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可一不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。 工作原理 扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑!) 扫描器能干什么 扫描器并不是一个直接的攻击网络漏洞的程序,它仅仅能帮助我们发现目标机的某些内在的弱点。一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞。但它不会提供进入一个系统的详细步骤。 扫描器应该有三项功能:发现一个主机或网络的能力;一旦发现一台主机,有发现什么服务正运行在这台主机上的能力;通过测试这些服务,发现漏洞的能力。 编写扫描器程序必须要很多TCP/IP程序编写和C, Perl和或SHELL语言的知识。需要一些Socket编程的背景,一种在开发客户/服务应用程序的方法。开发一个扫描器是一个雄心勃勃的项目,通常能使程序员感到很满意。 常用的端口扫描技术 TCP connect() 扫描 这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。 TCP SYN扫描 这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。 TCP FIN 扫描 有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。 IP段扫描 这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心。一些程序在处理这些小数据包时会有些麻烦。 TCP 反向 ident扫描 ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。因此你能,举

      什么是端口扫描?

      C++ TCP端口扫描

      差不多就是这样的吧 #include #include #pragma comment(lib,"wsock32.lib")int main(int argc, char **argv){SOCKET sd_client;u_short iPortStart, iPortEnd, port;struct sockaddr_in addr_srv;char *pszHost;WSADATA wsaData;WORD wVersionRequested;int err;switch(argc){case 2:iPortStart = 0;iPortEnd = 65535;pszHost =argv[1];break;case 3:iPortStart = iPortEnd = atoi(argv[2]);pszHost =argv[1];break;case 4:iPortStart = atoi(argv[2]);iPortEnd = atoi(argv[3]);pszHost =argv[1];break;default:printf("正确的命令行参数:n");printf("[IP] 扫描所有端口n");printf("[IP] [端口]:扫描单个端口n");printf("[IP] [端口1] [端口2]:扫描端口1到端口2n");return 1;}wVersionRequested = MAKEWORD( 1, 1 );err = WSAStartup( wVersionRequested, &wsaData );if ( err != 0 ){printf("Error %d: Winsock not availablen", err);return 1;}for(port=iPortStart; port<=iPortEnd; port++){sd_client = socket(PF_INET, SOCK_STREAM, 0);if (sd_client == INVALID_SOCKET){printf("no more socket resourcesn");return 1;}addr_srv.sin_family = PF_INET;addr_srv.sin_addr.s_addr=inet_addr(pszHost);addr_srv.sin_port = htons(port);err = connect(sd_client, (struct sockaddr *) &addr_srv, sizeof(addr_srv));if (err == INVALID_SOCKET){printf("不能连接此端口:%dn", port);closesocket(sd_client);continue;}printf("扫描此端口成功:%dn", port);closesocket(sd_client);}WSACleanup();return 0; }
      C++ TCP端口扫描

      TCP扫描和UDP扫描以及它们的区别

      主要是以下几点: 1. TCP是有连接的协议,而UDP是无连接的;2. TCP扫描检测(ACK SYN)或者是(RST)报文,而UDP检测ICMP端口不可达报文; 3. TCP协议是可靠但低效的,可以有效进行端口扫描,范围广,效率低,可以应用于任何网络中;UDP协议时不可靠但高效的,范围小,效率高,一般应用于局域网内部,随着网络规模的增大,UDP端口扫描的结果准确度会越来越差,极端情况是,如果对Internet使用UDP端口扫描,所得到的结果一定不准确。
      TCP扫描:可靠连接,链接的方式是三次握手(SYN, ACK SYN, ACK),效率低 UDP扫描:无连接不可靠服务,多用与局域网,效率高
      TCP扫描和UDP扫描以及它们的区别

      如何在服务器上进行端口扫描?

      ①Windows系统服务器,用dos扫描打开的端口快捷键WIN+R在运行中输入“cmd”确定netstat -na②Linux系统服务器,终端中用nc命令扫描端口nc -v -w 2 `10.246.46.15 -i` 3901-3905#扫描ip地址10.246.46.15的端口开启情况nc: connect to 10.246.46.15 port 3901 (tcp) failed: Connection refusednc: connect to 10.246.46.15 port 3902 (tcp) failed: Connection refused #端口关闭Connection to 10.246.46.15 3903 port [tcp/charsetmgr] succeeded!  #端口开通nc: connect to 10.246.46.15 port 3904 (tcp) failed: Connection refusedConnection to 10.246.46.15 3905 port [tcp/mupdate] succeeded!     #端口开通
      看你扫的哪些端口了,如果你扫的445或者1433什么的扫不到的原因可能是,人家屏蔽掉了这几个端口!
      这当然用3389工具!
      有没有安装
      如何在服务器上进行端口扫描?

      金山毒霸不停提示电脑1433(TCP)端口被扫描,问下该端口什么用,可以关掉吗,怎么设置……

      1433端口,是SQL Server默认的端口,SQL Server服务使用两个端口:TCP-1433、UDP-1434。其中1433用于供SQL Server对外提供服务,1434用于向请求者返回SQL Server使用了哪个TCP/IP端口。
      尊敬的金山网络用户您好: 如果您的电脑中开启了1433端口可能是您的电脑中安装了MS SQL,您可以尝试将您的sa账户的密码设置的复杂一点。金山毒霸的防黑墙能有效拦截黑客的扫描,使黑客无法获知您的系统信息,拦截黑客入侵,保护您的电脑安全。 感谢您的支持,祝您生活愉快!
      金山毒霸不停提示电脑1433(TCP)端口被扫描,问下该端口什么用,可以关掉吗,怎么设置……

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类