Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux Netcat (nc) 命令完整使用指南:從端口掃描到文件傳輸

編輯:Linux 教學

Netcat(簡稱 nc)被譽為網絡工具界的「瑞士軍刀」,它能通過 TCP 和 UDP 協議在網絡中讀寫數據。憑藉簡潔的設計,配合重定向與管道,Netcat 可實現端口掃描、文件傳輸、聊天服務、流媒體傳輸甚至加密通訊等多種功能。本文將通過實例詳細介紹 Netcat 的核心用法。

基本語法與常用參數

nc [選項] [目標IP] [端口範圍]
  • -z:零 I/O 模式,僅掃描端口,不進行數據交換
  • -v:詳細輸出模式
  • -n:禁用 DNS 反向解析,直接使用 IP 地址
  • -l:監聽模式,作為服務端
  • -u:使用 UDP 協議(默認為 TCP)
  • -p:指定本地端口

1. 端口掃描與 Banner 抓取

系統管理員常用 Netcat 快速發現開放端口並識別服務版本:

# 掃描 172.31.100.7 的 21-25 端口
nc -z -v -n 172.31.100.7 21-25

發現開放端口後,可直接連接獲取服務 Banner 信息:

nc -v 172.31.100.7 21

Banner 信息有助於判斷服務類型、版本及潛在漏洞,但並非所有服務都會返回 Banner。

2. 簡易聊天服務器

在無法使用即時通訊軟件的環境下,Netcat 可快速建立局域網聊天:

服務端(機器 A)

nc -l 1567

客戶端(機器 B)

nc 172.31.100.7 1567

雙方鍵入的文字會即時顯示在對方終端,按 Ctrl+C 結束會話。

3. 文件傳輸

利用輸入/輸出重定向實現無需 FTP/SCP 的快速文件傳輸:

場景一:A 發送文件給 B(A 為服務端)

# A 端:監聽 1567 端口,將 file.txt 作為輸入
nc -l 1567 < file.txt

# B 端:連接 A,將接收內容保存為 file.txt
nc -n 172.31.100.7 1567 > file.txt

場景二:B 發送文件給 A(A 仍為服務端)

# A 端:監聽並將輸出保存到 file.txt
nc -l 1567 > file.txt

# B 端:連接 A,發送 file.txt 內容
nc 172.31.100.7 1567 < file.txt

4. 目錄傳輸(配合 tar)

通過管道結合 tar 實現整目錄傳輸:

基本傳輸

# 服務端:打包目錄並發送
tar -cvf - dir_name | nc -l 1567

# 客戶端:接收並解包
nc -n 172.31.100.7 1567 | tar -xvf -

壓縮傳輸(節省帶寬)

# 服務端:打包並用 bzip2 壓縮後發送
tar -cvf - dir_name | bzip2 -z | nc -l 1567

# 客戶端:接收、解壓、解包
nc -n 172.31.100.7 1567 | bzip2 -d | tar -xvf -

5. 加密傳輸(配合 mcrypt)

為保障數據安全,可在傳輸前進行加密:

# 服務端:接收加密數據並解密保存
nc -l 1567 | mcrypt --flush --bare -F -q -d -m ecb > file.txt

# 客戶端:加密文件並發送
mcrypt --flush --bare -F -q -m ecb < file.txt | nc 172.31.100.7 1567

雙端需使用相同密碼。亦可替換為 openssl、gpg 等工具。

6. 視頻流傳輸

雖非專業流媒體方案,但在缺乏專用工具時可應急使用:

# 服務端:發送視頻文件
cat video.mp4 | nc -l 1567

# 客戶端:接收並直接播放(需播放器支持管道輸入)
nc 172.31.100.7 1567 | mplayer -

進階技巧與注意事項

  • 持久監聽:加上 -k 參數(部分版本支持)可在斷開連接後繼續監聽
  • 超時控制:使用 -w 秒數 設置連接超時
  • 來源端口綁定:-p 端口 指定發送端口,配合防火牆規則使用
  • IPv6 支持:使用 -6 強制 IPv6
  • 安全警示:Netcat 傳輸默認明文,敏感數據務必加密;開放監聽端口需配合防火牆限制訪問來源

總結

Netcat 功能強大且輕量,是系統管理員、滲透測試人員及開發者的必備工具。掌握其核心用法,能在無圖形界面、受限環境下快速解決網絡調試、文件傳輸、服務測試等問題。建議結合 man nc 閱讀完整手冊,探索更多組合用法。

Copyright © Windows教程網 All Rights Reserved