2024-08-08

TCPing是一个简单的网络工具,用于检测TCP连接的延迟。在Linux下安装TCPing的步骤通常如下:

  1. 使用包管理器安装(如果可用):

    • 对于Debian/Ubuntu系统,可以使用APT:

      
      
      
      sudo apt-get update
      sudo apt-get install tcping
    • 对于Red Hat/CentOS系统,可以使用YUM:

      
      
      
      sudo yum install tcping
  2. 如果包管理器中没有可用的TCPing,可以直接从源代码编译安装:

    • 首先下载源码:

      
      
      
      wget https://github.com/jankroon/estxtoolsw/raw/master/tcping.c
    • 然后编译并安装:

      
      
      
      gcc -Wall -O tcping.c -o tcping -lpthread
      sudo cp tcping /usr/local/bin/

安装完成后,可以使用TCPing进行连接测试:




tcping example.com 80

以上命令会测试到example.com域名上80端口的TCP连接延迟。如果TCPing不在/usr/local/bin目录中,需要指定完整路径或将其添加到环境变量中。

2024-08-07

UDP(用户数据报协议)和TCP(传输控制协议)是网络中两种最常见的传输层协议。

UDP协议:

  • 无连接的协议,数据可以任意大小,无需建立连接就可以发送。
  • 不保证数据包的完整性,不保证它们是否会到达目的地,也不保持顺序。
  • 适用于对数据完整性要求不高,但需要快速传输的场景,如视频会议、游戏等。

TCP协议:

  • 面向连接的协议,需要在数据传输前建立和终止连接。
  • 提供可靠的传输,确保数据包的完整性,并按顺序到达目的地。
  • 适用于对数据完整性要求高,需要稳定传输的场景,如文件传输、电子邮件等。

UDP和TCP的对比:

  • UDP简单快速,TCP复杂可靠。
  • UDP无流量控制和拥塞控制,TCP有。
  • UDP头部开销小,TCP头部开销大。
  • UDP不保持连接状态,TCP保持连接状态。

在Python中,可以使用socket模块来创建UDP或TCP套接字,并进行通信。以下是一个简单的UDP和TCP例子:

UDP例子:




import socket
 
# 创建UDP套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 
# 发送数据
udp_socket.sendto(b"Hello, UDP!", ("localhost", 12345))
 
# 接收数据
data, addr = udp_socket.recvfrom(1024)
print("Received:", data)
 
# 关闭套接字
udp_socket.close()

TCP例子:




import socket
 
# 创建TCP套接字
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
# 建立连接
tcp_socket.connect(("localhost", 12345))
 
# 发送数据
tcp_socket.send(b"Hello, TCP!")
 
# 接收数据
data = tcp_socket.recv(1024)
print("Received:", data)
 
# 关闭连接
tcp_socket.close()

注意:在运行这些例子之前,确保目标地址和端口是可用的。