计算机端口扫描技术全攻略
2006-11-05 19:59:28 来源:WEB开发网核心提示: RST: 用来复位一个连接,RST标志置位的数据包称为复位包,计算机端口扫描技术全攻略(2),一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,应答时返回下一个希望得到的字节序号(YY+1), 3:C 对从S 来的SYN进行应答,则向远端发送一个复位包, URG: 为
RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。
URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。
ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。
PSH: 如果置位,接收端应尽快把数据传送给应用层。
TCP连接的建立
TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手):
1: C --SYN XXà S
2: C ?-SYN YY/ACK XX+1------- S
3: C ----ACK YY+1--à S
1:C发送一个TCP包(SYN 请求)给S,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端端口号和客户端的ISN(XX是一个例子)。
2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。
3:C 对从S 来的SYN进行应答,数据发送开始。
一些实现细节
大部分TCP/IP实现遵循以下原则:
更多精彩
赞助商链接