网络工程课程实践实验之利用pcattcp分析TCP协议

PCATTCP介绍

PCATTCP的前身为Test TCP,Test TCP是BSD操作系统的原生工具,该工具通过控制台输入参数,用于测试TCP或者UDP的通信速度。该项目于1984年启动,现在该工具的源代码早已开放。PCATTCP是Test TCP的windows移植版本,是一个用于测试TCP和UDP通信速度的windows控制台程序。

如果你是windows用户的话,你可以点击这里下载PCATTCP.exe这个命令行软件

用法:

  1. 首先,将其放置到电脑的环境变量中,如C:\Windows\system32\
  2. 按下win+R,输入cmdpowershell打开命令行终端
  3. 输入pcattcp按下enter/return就会出现下面的页面
Usage: pcattcp -t [-options] host [ < in ]
       pcattcp -r [-options > out]
Common options:
   -l ##  length of bufs read from or written to network (default 8192)
   -u     use UDP instead of TCP
   -p ##  port number to send to or listen at (default 5001)
   -s     toggle sinkmode (enabled by default)
            sinkmode enabled:
               -t: source (transmit) fabricated pattern
               -r: sink (discard) all received data
            sinkmode disabled:
               -t: reads data to be transmitted from stdin
               -r: writes received data to stdout
   -A     align the start of buffers to this modulus (default 16384)
   -O     start buffers at this offset from the modulus (default 0)
   -v     verbose: print more statistics
   -d     set SO_DEBUG socket option
   -b ##  set socket buffer size (if supported)
   -f X   format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga
   -c       -t: send continuously
            -r: accept multiple connections sequentially
   -R     concurrent TCP/UDP multithreaded receiver
Options specific to -t:
   -n ##  number of source bufs written to network (default 2048)
   -D     don't buffer TCP writes (sets TCP_NODELAY socket option)
   -w ##  milliseconds of delay before each write (default 0)
   -L ##  desired transmit data rate in bytes/second
Options specific to -r:
   -B     for -s, only output full blocks as specified by -l (for TAR)
   -T     "touch": access each byte as it's read

通信双方信息

接收方

pcattcp -r -c
  • 参数-r表示服务器端模式,该设备处于接收状态。
  • 参数-c表示该设备工作于连续模式。

我的X同学的电脑终端显示

发送方

pcattcp -t -n 111.114.183.157

我的电脑终端显示

观察TCP

TCP第一次握手

TCP第二次握手

TCP第三次握手

开始传送

发送方准备关闭连接

接收方发送接收到关闭请求,也发送关闭请求

发送方接收到接收方关闭请求

试验总结

连接统计

传送字节数

TCP的三次握手过程

  1. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认
  2. 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。
  3. 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

   转载规则


《网络工程课程实践实验之利用pcattcp分析TCP协议》 Harbor Zeng 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
我的一点关于人生活法想法 我的一点关于人生活法想法
有人以为孩子能上个普通学校,生病能去普通医院花普通价签,平时不被坑蒙拐骗偷,吃放心的蔬菜水果,买上不闹心的房子,房子不塌物业不坑,楼上不闹腾,广场没人半夜撒泼,老了能领到养老金,儿子女儿孝顺懂事。 你说这是碌碌无为还是开挂人生?这是开挂的人生吧,普通人的生活也太难了吧。
2019-01-19
下一篇 
网络工程课程实践实验之利用WireShark分析IP协议 网络工程课程实践实验之利用WireShark分析IP协议
1. IP协议简述TCP/IP协议定义了一个在局域网上传输的包,称为IP数据报(IP Datagram)。IP数据报由首部和数据两部分组成,首部部分包括版本,长度,IP地址等信息。数据部分一般用来传输其他的协议,如TCP,UDP和ICMP协议等。 控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 2. 分析
2018-11-02
  目录