您的位置:首页 > 其它

Web-Attak系列教程第二季0x02讲——三次握手

2013-02-13 02:17 281 查看
普及网络安全知识,推动信息技术发展。

为祖国的网络安全撑起一片蓝天,为网络安全爱好者构建一方家园。

欢迎来到灰帽程序员论坛,我们的网址是:

http://www.hmhacker.org

论坛以技术交流为主,非商业性质论坛。

大家好,我是小雨,QQ:798033502

今天给大家带来的教程是《Web-Attak系列教程第二季0x02讲——三次握手》

这些视频教程最终会整理成书《Web安全编程与渗透分析》

在进行渗透的第一步是信息收集和漏洞扫描,那么在讲这个之前呢,我们有必要介绍下TCP报文结构。因为我们不是要当script kiddie

We want to be a hacker。所以,我们必须要懂得原理

源端口(16位)

目的端口(16位)

序列号(32位)

确认号(32位)

偏移位

保留位

控制位

窗口大小(16位)

校验和(16位)

紧急数据指针(16位)

可选项(32位)

CP数据

//定义TCP报头

typedef struct _tcphdr
{
byte source_port[2]; //发送端端口号,16位
byte dest_port[2]; //接收端端口号,16位
byte sequence_no[4]; //32位,标示消息端的数据位于全体数据块的某一字节的数字
byte ack_no[4]; //32位,确认号,标示接收端对于发送端接收到数据块数值
byte offset_reser_con[2];//数据偏移4位,预留6位,控制位6为
byte window[2]; //窗口16位
byte checksum[2]; //校验码,16位
byte urgen_pointer[2]; //16位,紧急数据指针
byte options[3]; //选祥和填充,32位
}TCP_HEADER;

那么下面我们再来说下三次握手,看看就算计是怎样建立连接并开始通讯的。因为我们的扫描技术与之密切相关。

====================================================

例如:

第一步:PC-A请求与PC-B建立连接,PC-A发送一个SYN请求建立同步连接。消息的内容就像是说:"你好,我想和你机子端口X上的服务建立连接,先同步一下,用序列号Y来开始连接。"

第二步:PC-B主机响应发送过来的序列号,发送ACK确认同步,并将自己的序列号告诉PC-A。

(此时PC-A认为已经建立连接,PC-B却不这样认为,它要等自己的序列号有了应答才能确认建立连接。因此现在的状态称为“半连接”。如果PC-A不对收到的序列号做出应答,这个连接就永远不会建立起来。系统也不会对连接做任何记录,这就是SYN半连接扫描的原理,这样可以达到隐藏渗透测试者真实IP的目的)

第三步:PC-A对PC-B发来的序列号做出应答,两台计算机开始建立连接。

视频地址:
http://www.56.com/u80/v_ODY1MjI3MjU.html http://v.youku.com/v_show/id_XNTEzNzkxNjg4.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐