浅谈TCP/IP协议与信息安全

引言:

计算机网络相关的知识我们都有所了解,包括TCP/IP,信息安全等。这篇文章能让你更加透彻的了解TCP/IP协议和网络的信息安全等问题。我们学过TCP/IP的人都知道三次握手建立连接和四次挥手断开连接,那么:

1.为什么是三次握手安全建立连接?

2.如果是两次握手导致的脏连接

3.什么是SQL注入,XSS和CSRF攻击?

 

一.TCP/IP协议

1.首先,什么是TCP/IP?TCP/IP中文译为传输控制协议/因特网互联协议,这个家族还包括其他我们所熟悉的协议,如HTTP,HTTPS等。TCP/IP协议从严格意义上讲它是一个协议簇,因为TCP/IP是其中最核心的协议,所以就把这个协议簇统称为TCP/IP协议。

2.TCP/IP分层框架图

 TCP/IP四层架构:最顶层为应用层,依次向下为传输层,网络层,链路层。

数据是如何从机器A传输到到机器B的:应用层按照既定的协议打包数据,随后由传输层加上双方的端口号,由网络层加上双方的IP地址,由链路层加上双方的MAC地址,并将数据拆分成数据帧,经过多个路由器和网关后,到达目标机器。

其实就是按照:“端口----->IP地址----->MAC地址”对数据进行封装和发送,B机器解包数据的反过来操作。

四层结构简单说一下链路层的结构:链路层分为链路层报头和桢上数据。链路层报头含:源MAC地址(6字节),目标MAC地址(6字节),网络层协议(2字节);桢上数据含:IP报头,IP数据,TCP报头(若有)及校验(4字节)。

 

网络层:根据IP定义网络地址区分网段,子网内根据地址解析协议ARP进行MAC寻址(要知道ARP寻址过程,这里不介绍)

传输层:确认数据后把数据交给应用程序,实现端对端的通信。TCP/UDP协议,UDP是面向无连接的不可靠的传输

三次握手建立连接:

TCP报文结构就不说了。先说说SYN,ACK,FIN

SYN(synchronize sequence Number)的意思是信号同步,当SYN置为1时表示有效

ACK(Acknowledgement):对数据进行确认

FIN:表示断开

 

 

 

 

三次握手其实值得建立连接的三个步骤:

1.A机器发出一个数据包并将SYN置1,表示希望建立连接。包中序列号为x

2.B机器收到请求后,返回一个响应包,并将SYN和ACK置1,表示已对数据进行确认。假设响应包的数据序列号为y,而确认序列号必须为x+1,表示收到A发过来的SYN。

3.A收到B的响应进行确认,确认包中将ACK置1,并将确认序列号为y+1,表示收到B的SYN。

三次握手的目的:信息对等和防止超时。因为在第二次握手后,从B机器的角度看,B机器还不能确认字节是否拥有发报能力,同时也不能确认A机器的收报能力,只有等第三次握手后,从返回的信息(ACK=1,seq=x+1,ack=y+1)才能知道这两个能力是否齐全。

两次握手会导致脏连接

三次握手同时也是为了防止请求超时导致的藏连接。因为网络报文的生存时间往往会超过TCP的请求时间,如果两次握手就成功了,传输数据并并释放连接,第一个超时的连接请求才到达B机器的话,B机器会误以为是A新建立的请求,然后确认统一连接,因为A的状态不是为发送状态,(状态为请求连接),所以直接丢弃,最后只是B单方面的连接。如图:

TCP断开连接-四次挥手

TCP作为全双工通信,双方都能作为数据的发送方和接收方。四次挥手的可以这样表达

男:我们分手把。(此时男已经不可以拥抱妹子了)

女:好的,我收拾完东西,会发个信息给你

女:我收拾好了,再见(此时妹子也不能再拥抱了额)

男:好的(经过一段时间后,和平分手)

如图:

信息安全

常见的黑客攻击手段

1.SQL注入:未将数据与代码进行隔离而导致再读取用户数据时误将用户数据作为代码的一部分执行。如使用字符串拼接时未进行转义。

2.XSS攻击:不讲

3.CSRF攻击:不讲


 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值