今天在項目中,需要往socket接口裏發送一個c++裏的"31"整數(4個字節),測試了使用telnet好像搞不定,最終谷歌後使用nc來實現。
--原因是當前socket接口裏的c++實現原理是:先獲取一個整數長度,然後再獲取這個整數長度的字符串。
echo -e '\x1f\x00\x00\x00' | nc 127.0.0.1 44698
當然python也可使用,代碼搞定:
send_msg = struct.pack("i%", len(msg_info))
c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
NetCat,在網絡工具中有“瑞士軍刀”美譽,其有Windows和Linux的版本。因爲它短小精悍(1.84版本也不過25k,舊版本或縮減版甚至更小)、功能實用,被設計爲一個簡單、可靠的網絡工具,可通過TCP或UDP協議傳輸讀寫數據。同時,它還是一個網絡應用Debug分析器,因爲它可以根據需要創建各種不同類型的網絡連接。
通常的Linux發行版中都帶有NetCat(簡稱nc),但不同的版本,其參數的使用略有差異。
多看了下nc,除了測試往socket接口裏寫數據,還有如下功能:
1.遠程拷貝文件,目錄
2.克隆硬盤或分區
3.端口掃描
4.聊天 --啓動socket監聽,發送& 監聽
更多詳細內容,請參考: