我們可以用 man 命令看一下這個 nc 是何方神聖
在終端中輸入 man nc 就可以看到

我們可以看到 nc 命令就是一個 TCP/UDP 連接工具,可以與別的計算機建立 TCP/UDP 連接並傳輸數據。作用有點類似於 postman,只不過 postman 是 HTTP 協議的數據傳輸測試工具,但是 nc 是較為底層的 TCP/UDP 協議的數據測試工具。當然從上面的截圖來看,這個工具還有別的用途,但是這不在我們的討論范圍。畢竟 PWN 題目中我們一般只用這個來傳輸 TCP 數據什么的。
一般在 nc 發送數據的時候我們都要鍵入回車然后發送,這樣發送的數據在結尾就會加上 '\n' 字符。然后對面服務器上的程序也會讀入這個數據。如果你發現用別的語言自己手搓socket 客戶端,或者用 ssokit 這樣的工具(類似於nc)向對面服務器傳輸了一些 Linux 命令什么的,卻並沒有什么數據返回,那可能是你發送的數據中沒有 '\n' 這個字符。
