歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux nc命令參數及用法詳解之畢業紀

linux nc命令參數及用法詳解之畢業紀

日期:2017/3/1 16:17:29   编辑:關於Linux
linux nc命令參數及用法詳解之畢業紀 一、功能說明:強大的網絡工具netcat 二、語  法:nc [options] [options] -d 後台模式 -e prog 程序重定向,一旦連接,就執行 [危險!!] -g <網關> 設置路由器躍程通信網關,最多可設置8個。 -G <指向器數目> 設置來源路由指向器,其數值為4的倍數。 -i <延遲秒數> 延時的間隔 -l 監聽模式,用於入站連接 -L 連接關閉後,仍然繼續監聽 -n 直接使用IP地址,而不通過域名服務器。 -o <輸出文件> 指定文件名稱,把往來傳輸的數據以16進制字碼傾倒成該文件保存。 -p <端口> 設置本地主機使用的通信端口。 -r 隨機本地及遠程端口 -s <源ip地址> 設置本地主機送出數據包的IP地址。 -t 使用TELNET交互方式 -u 使用UDP傳輸協議。 -v 詳細輸出(用兩個-v可得到更詳細的內容) -w <超時秒數> 設置等待連線的時間,即指定多少秒後,斷開。 -z 使用0輸入/輸出模式,只在掃描通信端口時使用。 -h 幫助信息 主機名/ip 指定訪問的主機名/ip port 監聽遠程主機的端口,可以是單個或范圍(M-N)。 nc [-hlnruz][-g<網關...>][-G<指向器數目>][-i<延遲秒數>][-o<輸出文件>][-p<通信端口>][-s<來源地址>][-v...][-w<超時秒數>][主機名稱][通信端口...] 三、應用 ①端口掃描(常用於檢測某個ip的某個服務[端口]是否被監聽,即某服務是否啟動) 格式: nc -v -w 2 -z $ip $port -v 顯示指令執行過程。 -w <超時秒數> 設置等待連線的時間。 -z 使用0輸入/輸出模式,只在掃描通信端口時使用。 ②遠程數據的傳輸(源主機---->目的主機($ip需監聽端口)。傳完後ctrl+c中斷連接,缺點:不知道什麼時候傳完) 格式: 遠程(目的)主機:nc -l $port > $file 源主機: nc $ip $port < $file ③簡單的及時聊天(需要在某台主機上,監聽端口$port,別的主機可以連接,進行聊天,Ctrl+c,Ctrl+d退出) 格式: 遠程(目的)主機:nc -l $port 源主機: nc $ip $port ④硬盤或分區(同②,源主機---->目的主機,克隆硬盤或分區的操作,不應在已經mount的的系統上進行。) 格式: 遠程(目的)主機:nc -l $port |dd of=分區 源主機: dd if=分區 | nc $ip $port 四、例子 ①批量檢測服務器指定端口開放情況: 1、假如我們要監控一堆指定的IP和端口,可新建一個文件(第1列服務器IP,第2列要監控的端口)。 # vim /scripts/ip-ports.txt 192.168.0.100 80 192.168.0.100 8081 192.168.0.101 8082 192.168.1.100 21 2、我們可以寫這樣一個腳本來批量檢測端口是否開放: # vim /scripts/ncports.sh #!/bin/bash #檢測服務器端口是否開放,成功會返回0值顯示ok,失敗會返回1值顯示fail cat /scripts/ip-ports.txt | while read line do nc -w 10 -z $line > /dev/null 2>&1 if [ $? -eq 0 ] then echo $line:ok else echo $line:fail fi done 3、執行腳本查看運行結果如下: # chmod a+x /scripts/ncports.sh # /scripts/ncports.sh 192.168.0.100 80:ok 192.168.0.100 8081:ok 192.168.0.101 8082:ok 192.168.1.100 21:fail
Copyright © Linux教程網 All Rights Reserved