黑客攻击主要有哪些手段?
黑客主要运用手段和攻击方法
2004-12-02 来源: 责编: 滴滴 作者:
编者按:
不可否认,网络已经溶入到了我们的日常工作和生活中。因此,在我们使用电脑时就得时时考虑被网络攻击的防范工作。俗语说“知己知彼,百战不贻”,要想尽量的免遭黑客的攻击,当然就得对它的主要手段和攻击方法作一些了解。闲话少说,咱这就入正题!
戴尔笔记本本周限时优惠 免费咨询800-858-2336
来源:黑客基地
不可否认,网络已经溶入到了我们的日常工作和生活中。因此,在我们使用电脑时就得时时考虑被网络攻击的防范工作。俗语说“知己知彼,百战不贻”,要想尽量的免遭黑客的攻击,当然就得对它的主要手段和攻击方法作一些了解。闲话少说,咱这就入正题!
(一)黑客常用手段
1、网络扫描--在Internet上进行广泛搜索,以找出特定计算机或软件中的弱点。
2、网络嗅探程序--偷偷查看通过Internet的数据包,以捕获口令或全部内容。通过安装侦听器程序来监视网络数据流,从而获取连接网络系统时用户键入的用户名和口令。
3、拒绝服务 -通过反复向某个Web站点的设备发送过多的信息请求,黑客可以有效地堵塞该站点上的系统,导致无法完成应有的网络服务项目(例如电子邮件系统或联机功能),称为“拒绝服务”问题。
4、欺骗用户--伪造电子邮件地址或Web页地址,从用户处骗得口令、信用卡号码等。欺骗是用来骗取目标系统,使之认为信息是来自或发向其所相信的人的过程。欺骗可在IP层及之上发生(地址解析欺骗、IP源地址欺骗、电子邮件欺骗等)。当一台主机的IP地址假定为有效,并为Tcp和Udp服务所相信。利用IP地址的源路由,一个攻击者的主机可以被伪装成一个被信任的主机或客户。
5、特洛伊木马--一种用户察觉不到的程序,其中含有可利用一些软件中已知弱点的指令。
6、后门--为防原来的进入点被探测到,留几个隐藏的路径以方便再次进入。
7、恶意小程序--微型程序,修改硬盘上的文件,发送虚假电子邮件或窃取口令。
8、竞争拨号程序--能自动拨成千上万个电话号码以寻找进入调制解调器连接的路径。逻辑炸弹计算机程序中的一条指令,能触发恶意操作。
9、缓冲器溢出-- 向计算机内存缓冲器发送过多的数据,以摧毁计算机控制系统或获得计算机控制权。
10、口令破译--用软件猜出口令。通常的做法是通过监视通信信道上的口令数据包,破解口令的加密形式。
11、社交工程--与公司雇员谈话,套出有价值的信息。
12、垃圾桶潜水--仔细检查公司的垃圾,以发现能帮助进入公司计算机的信息。
(二)黑客攻击的方法:
1、隐藏黑客的位置
典型的黑客会使用如下技术隐藏他们真实的IP地址:
利用被侵入的主机作为跳板;
在安装Windows 的计算机内利用Wingate 软件作为跳板;利用配置不当的Proxy作为跳板。
更老练的黑客会使用电话转接技术隐蔽自己。他们常用的手法有:利用800 号电话的私人转接服务联接ISP, 然后再盗用他人的账号上网;通过电话联接一台主机,再经由主机进入Internet。
使用这种在电话网络上的"三级跳"方式进入Internet 特别难于跟踪。理论上,黑客可能来自世界任何一个角落。如果黑客使用800号拨号上网,他更不用担心上网费用。
2、网络探测和资料收集
黑客利用以下的手段得知位于内部网和外部网的主机名。
使用nslookup 程序的ls命令;
通过访问公司主页找到其他主机;
阅读FTP服务器上的文挡;
联接至mailserver 并发送 expn请求;
Finger 外部主机上的用户名。
在寻找漏洞之前,黑客会试图搜集足够的信息以勾勒出整个网络的布局。利用上述操作得到的信息,黑客很容易列出所有的主机,并猜测它们之间的关系。
3、找出被信任的主机
黑客总是寻找那些被信任的主机。这些主机可能是管理员使用的机器,或是一台被认为是很安全的服务器。
一步,他会检查所有运行nfsd或mountd的主机的NFS输出。往往这些主机的一些关键目录(如/usr/bin、/etc和/home)可以被那台被信任的主机mount。
Finger daemon 也可以被用来寻找被信任的主机和用户,因为用户经常从某台特定的主机上登录。
黑客还会检查其他方式的信任关系。比如,他可以利用CGI 的漏洞,读取/etc/hosts.allow 文件等等。
分析完上述的各种检查结果,就可以大致了解主机间的信任关系。下一步, 就是探测这些被信任的主机哪些存在漏洞,可以被远程侵入。
4、找出有漏洞的网络成员
当黑客得到公司内外部主机的清单后,他就可以用一些Linux 扫描器程序寻找这些主机的漏洞。黑客一般寻找网络速度很快的Linux 主机运行这些扫描程序。
所有这些扫描程序都会进行下列检查:
TCP 端口扫描;
RPC 服务列表;
NFS 输出列表;
共享(如samba、netbiox)列表;
缺省账号检查;
Sendmail、IMAP、POP3、RPC status 和RPC mountd 有缺陷版本检测。
进行完这些扫描,黑客对哪些主机有机可乘已胸有成竹了。
如果路由器兼容SNMP协议,有经验的黑客还会采用攻击性的SNMP 扫描程序进行尝试, 或者使用"蛮力式"程序去猜测这些设备的公共和私有community strings。
5、利用漏洞
现在,黑客找到了所有被信任的外部主机,也已经找到了外部主机所有可能存在的漏洞。下一步就该开始动手入侵主机了。
黑客会选择一台被信任的外部主机进行尝试。一旦成功侵入,黑客将从这里出发,设法进入公司内部的网络。但这种方法是否成功要看公司内部主机和外部主机间的过滤策略了。攻击外部主机时,黑客一般是运行某个程序,利用外部主机上运行的有漏洞的daemon窃取控制权。有漏洞的daemon包括Sendmail、IMAP、POP3各个漏洞的版本,以及RPC服务中诸如statd、mountd、pcnfsd等。有时,那些攻击程序必须在与被攻击主机相同的平台上进行编译。
6、获得控制权
黑客利用daemon的漏洞进入系统后会做两件事:清除记录和留下后门。
他会安装一些后门程序,以便以后可以不被察觉地再次进入系统。大多数后门程序是预先编译好的,只需要想办法修改时间和权限就可以使用,甚至于新文件的大小都和原有文件一样。黑客一般会使用rcp 传递这些文件,以便不留下FTP记录。
一旦确认自己是安全的,黑客就开始侵袭公司的整个内部网
7.窃取网络资源和特权
黑客找到攻击目标后,会继续下一步的攻击,步骤如下:
(1)下载敏感信息
如果黑客的目的是从某机构内部的FTP或WWW服务器上下载敏感信息,他可以利用已经被侵入的某台外部主机轻而易举地得到这些资料。
(2)攻击其他被信任的主机和网络
大多数的黑客仅仅为了探测内部网上的主机并取得控制权,只有那些"雄心勃勃"的黑客,为了控制整个网络才会安装特洛伊木马和后门程序,并清除记录。 那些希望从关键服务器上下载数据的黑客,常常不会满足于以一种方式进入关键服务器。他们会费尽心机找出被关键服务器信任的主机,安排好几条备用通道。
(3)安装sniffers
在内部网上,黑客要想迅速获得大量的账号(包括用户名和密码),最为有效的手段是使用"sniffer" 程序。
黑客会使用上面各节提到的方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。
(4)瘫痪网络
如果黑客已经侵入了运行数据库、网络操作系统等关键应用程序的服务器,使网络瘫痪一段时间是轻而易举的事。
如果黑客已经进入了公司的内部网,他可以利用许多路由器的弱点重新启动、甚至关闭路由器。如果他们能够找到最关键的几个路由器的漏洞,则可以使公司的网络彻底瘫痪一段时间
伪装黑客代码bat怎么退出?
无限命令行弹窗类的伪装黑客代码可以按ctrl+alt+del打开任务管理器,当然也可以右击任务栏打开任务管理器杀程序,或者可以在开始菜单中点注销,这时候由于开了太多进程(弹窗),系统要一个一个杀完才能关机,等到杀得差不多的时候,点击取消就好了
如何伪装黑客
您提问的描述能否再清晰一些呢,比如您指的是某行业的从业人员伪装黑客还是某个机构伪装黑客行事呢?
您可以继续向我提问,我很乐意给您解答
黑客入侵的手法包括哪几种.????..````
黑客入侵的手法包括1)瞒天过海 (2)趁火打劫 (3)无中生有 (4)暗渡陈仓 (5)舌里藏刀 (6)顺手牵羊 (7)供尸还魂 (8)调虎离山 (9)抛砖引玉 (10)湿水摸鱼 (11)远交近攻 (12)偷梁换柱 (13)反客为主。黑客常有连环计,防不胜防,不可不小心。
1、瞒天过海,数据驱动攻击
当有些表面看来无害的特殊程序在被发送或复制到网络主机上并被执行发起攻击时,就会发生数据驱动攻击。例如:一种数据驱动的攻击可以造成一台主机修改与网络安全有关的文件,从而使黑客下一次更容易入侵该系统。
2、趁火打劫,系统文件非法利用
UNIX系统可执行文件的目录,如/bin/who可由所有的用户进行读访问。有些用户可以从可执行文件中得到其版本号,从而结合已公布的资料知道系统会具有什么样的漏洞。如通过Telnet指令操行就可以知道Sendmail的版本号。禁止对可执文件的访问虽不能防止黑客对它们的攻击,但至少可以使这种攻击变得更困难。还有一些弱点是由配置文件、访问控制文件和缺省初始化文件产生的。最出名一个例子是:用来安装SunOS Version 4的软件,它创建了一个/rhosts文件,这个文件允许局域网(因特网)上的任何人,从任何地方取得对该主机的超级用户特权。当然,最初这个文件的设置是为了从网上方便地进行安装,而不需超级用户的允许和检查。智者千虑,必有一失,操作系统设计的漏洞为黑客开户了后门,针对WIN95/WIN NT一系列具体攻击就是很好的实例。
3、无中生有,伪造信息攻击
通过发送伪造的路由信息,构造系统源主机和目标主机的虚假路径,从而使流向目标主机的数据包均经过攻击者的系统主机。这样就给人提供敏感的信息和有用的密码。
4、暗渡陈仓,针对信息协议弱点攻击
IP地址的源路径选项允许IP数据包自己选择一条通往系统目的主机的路径。设想攻击者试图与防火墙后面的一个不可到达主机A连接。他只需要在送出的请求报文中设置IP源路径选项,使报文有一个目的地址指向防火墙,而最终地址是主机A。当报文到达防火墙时被允许通过,因为它指向防火墙而不是主机A。防火墙的IP层处理该报文的源路径被改变,并发送到内部网上,报文就这样到达了不可到达的主机A。
5、笑里藏刀,远端操纵
缺省的登录界面(shell scripts)、配置和客户文件是另个问题区域,它们提供了一个简单的方法来配置一个程序的执行环境。这有时会引起远端操纵攻击:在被攻击主机上启动一个可执行程序,该程序显示一个伪造的登录界面。当用户在这个伪装的界面上输入登录信息(用户名、密码等)后,该程序将用户输入的信息传送到攻击者主机,然后关闭界面给出“系统故障”的提示信息,要求用户重新登录。此后才会出现真正的登录界面。在我们能够得到新一代更加完善的操作系统版本之前,类似的攻击仍会发生。防火墙的一个重要作用就是防止非法用户登录到受保护网的主机上。例如可以在进行报文过滤时,禁止外部主机Telnet登录到内部主机上。
6、顺手牵羊,利用系统管理员失误攻击
网络安全的重要因素之一就是人! 无数历史事实表明:保垒最容易从内攻破。因而人为的失误,如WWW服务器系统的配置差错,普通用户使用户使用权限扩大,这样就给黑客造成了可趁之机。黑客常利用系统管理员的失误,收集攻击信息。如用finger、netstat、arp、mail、grep等命令和一些黑客工具软件。
7、借尸还魂,重新发送(REPLAY)攻击
收集特定的IP数据包;篡改其数据,然后再一一重新发送,欺骗接收的主机。
8、调虎离山,声东击西
对ICMP报文的攻击,尽管比较困难,黑客们有时也使用ICMP报文进行攻击。重定向消息可以改变路由列表,路由器可以根据这些消息建议主机走另一条更好的路径。攻击者可以有效地利用重定向消息把连接转向一个不可靠的主机或路径,或使所有报文通过一个不可靠主机来转发。对付这种威肋的方法是对所有ICMP重定向报文进行过滤,有的路由软件可对此进行配置。单纯地抛弃所有重定向报文是不可取的:主机和路由器常常会用到它们,如一个路器发生故障时。
9、抛砖引玉,针对源路径选项的弱点攻击
强制报文通过一个特定的路径到达目的主机。这样的报文可以用来攻陷防火墙和欺骗主机。一个外部攻击者可以传送一个具有内部主机地址的源路径报文。服务器会相信这个报文并对攻击者发回答报文,因为这是IP的源路径选项要求。对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。
10、混水摸鱼,以太网广播攻击
将以太网接口置为乱模式(promiscuous),截获局部范围的所有数据包,为我所用。
11、远交近攻,跳跃式攻击
现在许多因特网上的站点使用UNIX操作系统。黑客们会设法先登录到一台UNIX的主机上,通过该操作系统的漏洞来取得系统特权,然后再以此为据点访问其余主机,这被称为跳跃(Island-hopping)。
黑客们在达到目的主机之前往往会这样跳几次。例如一个在美国黑客在进入美联邦调查局的网络之前,可能会先登录到亚洲的一台主机上,再从那里登录到加拿大的一台主机,然后再跳到欧洲,最后从法国的一台主机向联邦调查局发起攻击。这样被攻击网络即使发现了黑客是从何处向自己发起了攻击,管理人员也很难顺藤摸瓜找回去,更何况黑客在取得某台主机的系统特权后,可以在退出时删掉系统日志,把“藤”割断。你只要能够登录到UNIX系统上,就能相对容易成为超级用户,这使得它同时成为黑客和安全专家们的关注点。
12、偷梁换柱,窃取TCP协议连接
网络互连协议也存在许多易受攻击的地方。而且互连协议的最初产生本来就是为了更方便信息的交流,因此设计者对安全方面很少甚至不去考虑。针对安全协议的分析成为攻击的最历害一招。
在几乎所有由UNIX实现的协议族中,存在着一个久为人知的漏洞,这个漏沿使得窃取TCP连接成为可能。当TCP连接正在建立时,服务器用一个含有初始序列号的答报文来确认用户请求。这个序列号无特殊要求,只要是唯一的就可以了。客户端收到回答后,再对其确认一次,连接便建立了。TCP协议规范要求每秒更换序列号25万次。但大多数的UNIX系统实际更换频率远小于此数量,而且下一次更换的数字往往是可以预知的。而黑客正是有这种可预知服务器初始序列号的能力使得攻击可以完成。唯一可以防治这种攻击的方法是使初始序列号的产生更具有随机性。最安全的解决方法是用加密算法产生初始序列号。额外的CPU运算负载对现在的硬件速度来说是可以忽略的。
13、反客为主,夺取系统控制权
在UNIX系统下,太多的文件是只能由超级用户拥有,而很少是可以由某一类用户所有,这使得管理员必须在root下进行各种操作,这种做法并不是很安全的。黑客攻击首要对象就是root,最常受到攻击的目标是超级用户Password。严格来说,UNIX下的用户密码是没有加密的,它只是作为DES算法加密一个常用字符串的密钥。现在出现了许多用来解密的软件工具,它们利用CPU的高速度究尽式搜索密码。攻击一旦成功,黑客就会成为UNIX系统中的皇帝。因此,将系统中的权利进行三权分立,如果设定邮件系统管理员管理,那么邮件系统邮件管理员可以在不具有超级用户特权的情况下很好地管理邮件系统,这会使系统安全很多。
此外,攻击者攻破系统后,常使用金蝉脱壳之计删除系统运行日志,使自己不被系统管理员发现,便以后东山再起。故有用兵之道,以计为首之说,作为网络攻击者会竭尽一切可能的方法,使用各种计谋来攻击目标系统。这就是所谓的三十六计中的连环计。
如何假装自己是个黑客
开几个CMD窗口,然后用notepad++打开几个看不懂的php或者python文件。
然后就可以拍照装逼了。
黑客攻击手段
(一)黑客常用手段
1、网络扫描--在Internet上进行广泛搜索,以找出特定计算机或软件中的弱点。
2、网络嗅探程序--偷偷查看通过Internet的数据包,以捕获口令或全部内容。通过安装侦听器程序来监视网络数据流,从而获取连接网络系统时用户键入的用户名和口令。
3、拒绝服务 -通过反复向某个Web站点的设备发送过多的信息请求,黑客可以有效地堵塞该站点上的系统,导致无法完成应有的网络服务项目(例如电子邮件系统或联机功能),称为“拒绝服务”问题。
4、欺骗用户--伪造电子邮件地址或Web页地址,从用户处骗得口令、信用卡号码等。欺骗是用来骗取目标系统,使之认为信息是来自或发向其所相信的人的过程。欺骗可在IP层及之上发生(地址解析欺骗、IP源地址欺骗、电子邮件欺骗等)。当一台主机的IP地址假定为有效,并为Tcp和Udp服务所相信。利用IP地址的源路由,一个攻击者的主机可以被伪装成一个被信任的主机或客户。
5、特洛伊木马--一种用户察觉不到的程序,其中含有可利用一些软件中已知弱点的指令。
6、后门--为防原来的进入点被探测到,留几个隐藏的路径以方便再次进入。
7、恶意小程序--微型程序,修改硬盘上的文件,发送虚假电子邮件或窃取口令。
8、竞争拨号程序--能自动拨成千上万个电话号码以寻找进入调制解调器连接的路径。逻辑炸弹计算机程序中的一条指令,能触发恶意操作。
9、缓冲器溢出-- 向计算机内存缓冲器发送过多的数据,以摧毁计算机控制系统或获得计算机控制权。
10、口令破译--用软件猜出口令。通常的做法是通过监视通信信道上的口令数据包,破解口令的加密形式。
11、社交工程--与公司雇员谈话,套出有价值的信息。
12、垃圾桶潜水--仔细检查公司的垃圾,以发现能帮助进入公司计算机的信息。
(二)黑客攻击的方法:
1、隐藏黑客的位置
典型的黑客会使用如下技术隐藏他们真实的IP地址:
利用被侵入的主机作为跳板;
在安装Windows 的计算机内利用Wingate 软件作为跳板;利用配置不当的Proxy作为跳板。
更老练的黑客会使用电话转接技术隐蔽自己。他们常用的手法有:利用800 号电话的私人转接服务联接ISP, 然后再盗用他人的账号上网;通过电话联接一台主机,再经由主机进入Internet。
使用这种在电话网络上的"三级跳"方式进入Internet 特别难于跟踪。理论上,黑客可能来自世界任何一个角落。如果黑客使用800号拨号上网,他更不用担心上网费用。
2、网络探测和资料收集
黑客利用以下的手段得知位于内部网和外部网的主机名。
使用nslookup 程序的ls命令;
通过访问公司主页找到其他主机;
阅读FTP服务器上的文挡;
联接至mailserver 并发送 expn请求;
Finger 外部主机上的用户名。
在寻找漏洞之前,黑客会试图搜集足够的信息以勾勒出整个网络的布局。利用上述操作得到的信息,黑客很容易列出所有的主机,并猜测它们之间的关系。
3、找出被信任的主机
黑客总是寻找那些被信任的主机。这些主机可能是管理员使用的机器,或是一台被认为是很安全的服务器。
一步,他会检查所有运行nfsd或mountd的主机的NFS输出。往往这些主机的一些关键目录(如/usr/bin、/etc和/home)可以被那台被信任的主机mount。
Finger daemon 也可以被用来寻找被信任的主机和用户,因为用户经常从某台特定的主机上登录。
黑客还会检查其他方式的信任关系。比如,他可以利用CGI 的漏洞,读取/etc/hosts.allow 文件等等。
分析完上述的各种检查结果,就可以大致了解主机间的信任关系。下一步, 就是探测这些被信任的主机哪些存在漏洞,可以被远程侵入。
4、找出有漏洞的网络成员
当黑客得到公司内外部主机的清单后,他就可以用一些Linux 扫描器程序寻找这些主机的漏洞。黑客一般寻找网络速度很快的Linux 主机运行这些扫描程序。
所有这些扫描程序都会进行下列检查:
TCP 端口扫描;
RPC 服务列表;
NFS 输出列表;
共享(如samba、netbiox)列表;
缺省账号检查;
Sendmail、IMAP、POP3、RPC status 和RPC mountd 有缺陷版本检测。
进行完这些扫描,黑客对哪些主机有机可乘已胸有成竹了。
如果路由器兼容SNMP协议,有经验的黑客还会采用攻击性的SNMP 扫描程序进行尝试, 或者使用"蛮力式"程序去猜测这些设备的公共和私有community strings。
5、利用漏洞
现在,黑客找到了所有被信任的外部主机,也已经找到了外部主机所有可能存在的漏洞。下一步就该开始动手入侵主机了。
黑客会选择一台被信任的外部主机进行尝试。一旦成功侵入,黑客将从这里出发,设法进入公司内部的网络。但这种方法是否成功要看公司内部主机和外部主机间的过滤策略了。攻击外部主机时,黑客一般是运行某个程序,利用外部主机上运行的有漏洞的daemon窃取控制权。有漏洞的daemon包括Sendmail、IMAP、POP3各个漏洞的版本,以及RPC服务中诸如statd、mountd、pcnfsd等。有时,那些攻击程序必须在与被攻击主机相同的平台上进行编译。
6、获得控制权
黑客利用daemon的漏洞进入系统后会做两件事:清除记录和留下后门。
他会安装一些后门程序,以便以后可以不被察觉地再次进入系统。大多数后门程序是预先编译好的,只需要想办法修改时间和权限就可以使用,甚至于新文件的大小都和原有文件一样。黑客一般会使用rcp 传递这些文件,以便不留下FTP记录。
一旦确认自己是安全的,黑客就开始侵袭公司的整个内部网
7.窃取网络资源和特权
黑客找到攻击目标后,会继续下一步的攻击,步骤如下:
(1)下载敏感信息
如果黑客的目的是从某机构内部的FTP或WWW服务器上下载敏感信息,他可以利用已经被侵入的某台外部主机轻而易举地得到这些资料。
(2)攻击其他被信任的主机和网络
大多数的黑客仅仅为了探测内部网上的主机并取得控制权,只有那些"雄心勃勃"的黑客,为了控制整个网络才会安装特洛伊木马和后门程序,并清除记录。 那些希望从关键服务器上下载数据的黑客,常常不会满足于以一种方式进入关键服务器。他们会费尽心机找出被关键服务器信任的主机,安排好几条备用通道。
(3)安装sniffers
在内部网上,黑客要想迅速获得大量的账号(包括用户名和密码),最为有效的手段是使用"sniffer" 程序。
黑客会使用上面各节提到的方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。
(4)瘫痪网络
如果黑客已经侵入了运行数据库、网络操作系统等关键应用程序的服务器,使网络瘫痪一段时间是轻而易举的事。
如果黑客已经进入了公司的内部网,他可以利用许多路由器的弱点重新启动、甚至关闭路由器。如果他们能够找到最关键的几个路由器的漏洞,则可以使公司的网络彻底瘫痪一段时间
所谓的黑客攻防是通过什么实现的呢?
黑客攻防:攻击基本原理与防范技术据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。
中文名
黑客攻防
外文名
Hacker attack and defense
介绍
SYN攻击基本原理工具及检测方法
tcp握手协议
采用三次握手建立一个连接
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:
未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示未连接队列的最大容纳数目。
SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。
半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
SYN攻击原理
SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从上图可看到,服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列