1)netcat(nc)是一個簡單而有用的工具,被譽為網絡安全界的“瑞士軍刀”,不僅可以通過使用TCP或UDP協議的網絡連接讀寫數據,同時還是一個功能強大的網絡調試和探測工具,能夠建立你需要的幾乎所有類型的網絡連接。
2)在Linux終端窗口可以直接使用yum工具進行安裝:
[root@master01 spark]# yum install nc.x86_64
3)安裝完畢后,在終端模式下運行nc -help查看命令是否正常安裝
[hadoop@master01 spark]$ nc -help usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port] [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version] [-x proxy_address[:port]] [hostname] [port[s]] Command Summary: -4 Use IPv4 -6 Use IPv6 -D Enable the debug socket option -d Detach from stdin -h This help text -i secs Delay interval for lines sent, ports scanned -k Keep inbound sockets open for multiple connects -l Listen mode, for inbound connects -n Suppress name/port resolutions -p port Specify local port for remote connects -r Randomize remote ports -S Enable the TCP MD5 signature option -s addr Local source address -T ToS Set IP Type of Service -C Send CRLF as line-ending -t Answer TELNET negotiation -U Use UNIX domain socket -u UDP mode -v Verbose -w secs Timeout for connects and final net reads -X proto Proxy protocol: "4", "5" (SOCKS) or "connect" -x addr[:port] Specify proxy address and port -z Zero-I/O mode [used for scanning] Port numbers can be individual or ranges: lo-hi [inclusive]
OK,安裝正常。下面我們就可以使用nc -l 9999 來監聽端口,並發送數據;
[hadoop@master01 spark]$ nc -lk 8888 //開啟服務器連接 Hello world! How are you? Goodbye!
再開一台主機,進行測試:
netstat -anop |grep 8888 //在連接之前查看端口是否存在
nc localhost 8888 //連接端口進行聊天
在我的CentOS 6.4(64-bit) 環境中執行 nc -l 9999 監聽命令遇到protocol not available。
[hadoop@master01 spark]$ nc -l 9999 nc: Protocol not available
解決方法如下:
# Removes the old package yum erase nc # Manually downloads the working package from the Official Repository wget http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm # Installs the package rpm -iUv nc-1.84-22.el6.x86_64.rpm
另:本系統為64位操作系統,若讀者使用的是i386 (32-bit),可以使用如下鏈接:
wget http://vault.centos.org/6.6/os/i386/Packages/nc-1.84-22.el6.i686.rpm