netcat可以通过1.TCP和2.UDP在网络中读写数据,通过与其他工具结合并重定向,你可以在你的脚本中以多种方式使用它,你能用netcat命令做的事情是令人吃惊的。
netcat所做的只是在两台计算机之间建立一个连接,并返回两个数据流;之后你能做什么就看你的想象了。你可以建立一个服务器,传输文件,与朋友聊天,流媒体或将其作为其他协议的独立客户端。
以下是一些包含在上述描述中的名称解释:
1、什么是TCP
(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换
因为TCP/IP协议的内容过多,完全可以作为一门专业课程介绍,如果有兴趣的可以通过相关书籍自行了解。
2、什么是UDP
UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。
3、什么是数据流
数据流(data stream)是一组有序,有起点和终点的字节的数据序列。包括输入流和输出流,能够读取一个字节序列的对象称作一个输入流;而我们把能够写一个字节序列的对象称作一个输出流(个人认为输入输出流是抽象的概念,不必死磕。)
总结:简单的说,我们可以简单的认为netcat是在两台计算机中搭建一个连接平台。