tcp SYN扫描

转载网址:http://www.360doc.com/content/12/0302/13/3725126_191092221.shtml

扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。但是,这种扫描需要有root权限。


TCP connect端口扫描服务端与客户端建立连接成功(目标端口开放)的过程: 
① Client端发送SYN;
② Server端返回SYN/ACK,表明端口开放;
③ Client端返回ACK,表明连接已建立;
④ Client端主动断开连接。

tcp SYN扫描_第1张图片


TCP connect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程: 
① Client端发送SYN;
② Server端返回RST/ACK,表明端口未开放。


SYN扫描过程:

端口开放:1、Client发送SYN  2、Server端发送SYN/ACK 3、Client发送RST断开(只需要前两步就可以判断端口开放)

端口关闭:1、Client发送SYN  2、Server端回复RST(表示端口关闭)

优点SYN扫描要比TCP Connect()扫描隐蔽一些,SYN仅仅需要发送初始的SYN数据包给目标主机,如果端口开放,则相应SYN-ACK数据包;如果关闭,则响应RST数据包。

tcp SYN扫描_第2张图片


个人写的linux下syn扫描程序:https://github.com/zhoutong12589/syn_scan


你可能感兴趣的:(Linux网络)