传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在 TCP 协议中,通过三次握手建立连接。通信结束后,还需要断开连接。如果在发送数据包时,没有正确被发送到目的地时,将会重新发送数据包。
本节将详细讲解 TCP 协议的工作机制。
TCP 协议使用的是面向连接的方法进行通信的,其作用如下:
TCP 协议的数据包进行传输采用的是服务器端和客户端模式。发送 TCP 数据请求方为客户端,另一方则为服务器端。客户端要与服务器端进行通信,服务器端必须开启监听的端口,客户端才能通过端口连接到服务器,然后进行通信。
netwox 工具提供了相关模块,用于建立 TCP 服务器端和 TCP 客户端。客户端连接服务器端后,可以进行数据通信。为了能够对服务器端进行远程操控,用户也可以建立远程 TCP 服务器端和远程 TCP 客户端,连接以后,可以在服务器端执行命令,进行上传和下载。
为了能够完成客户端与服务器端之间的通信,可以使用 netwox 工具编号为 89 的模块建立 TCP 服务器端,然后使用编号为 87 的模块建立 TCP 客户端。
【实例】已知主机 A 的 IP 地址为 192.168.59.131,主机 B 的 IP 地址为 192.168.59.135。分别在这两个主机上建立 TCP 服务器端和客户端,并进行连接,监听指定端口上的通信信息。
具体步骤如下:
1) 在主机 A 上建立 TCP 服务器端,监听端口为 80,执行命令如下:
root@daxueba:~# netwox 89 -P 80
运行后没有任何输出信息,可以输入要传输的数据。
2)在主机 B 上建立 TCP 客户端,连接 TCP 服务器端,执行命令如下:
root@daxueba:~# netwox 87 -i 192.168.59.131 -p 80
运行后没有任何输出信息,可以输入要传输的数据。
3) 当在客户端输入信息后,将被发送到服务器端。例如,在客户端输入 hi,如下:
root@daxueba:~# netwox 87 -i 192.168.59.131 -p 80
hi
4) 在服务器端将会收到到客户端的信息,如下:
root@daxueba:~# netwox 89 -P 80
hi
可以看出,输出信息为客户端输入的内容。
5) 在服务器端输入 Hello,客户端也会监听到服务器端输入的内容,如下:
root@daxueba:~# netwox 87 -i 192.168.59.131 -p 80
hi
Hello
6) 通过捕获数据包,验证客户端和服务器端的通信过程。捕获到的数据包如图所示。