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是在兩臺計算機中搭建一個連接平臺。