Linux命令之nc命令
参考:Linux命令之nc命令,自己验证了一遍, 做个记录
一、命令简介
nc是netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉。nc命令在linux系统中实际命令是ncat,nc是软连接到ncat。nc命令的主要作用如下:
- 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
- 机器之间传输文件
- 端口的扫描,nc可以作为client发起TCP或UDP连接
- 机器之间网络测速
nc如果找不到nc命令可以使用安装
yum install -y nc # CentOS
二、使用示例
1.检查服务器端口是否通
nc -zv ip port
 
2.拷贝文件
如果需要快速实现两个局域网主机的文件cpoy,可以采用该方式指定UDP协议传输,传输速率可参考下文,我的笔记本传输速率大概为50M左右
首先在文件接收终端机器上激活nc监听
nc -lp 55555 > recive.txt
 
然后在文件发送终端机器上发送文件
nc -w 1 10.248.14.70 55555 < send.txt

检查文件是否已成功接收

3.终端之间的通信聊天
cdx: 你是誰
d18: 我是d18,你是誰?
cdx: 我是cdx
第一台主机上启动nc监听,ctrl+C中断通信

第二台主机上连接监听,ctrl+C中断通信
 
4.扫描端口
nc -v -w 1 10.248.24.98 -z 55550-55555
端口扫描,通的端口返回succeeded,不通的端口返回refused。
 
5.验证UDP端口
nc -uvz 10.248.24.98 55555
在 d18 上打开udp端口, cdx 上进行验证:
d18@d18:~$ nc -l -u 55555
cdx@cdx:~$ nc -uvz 10.248.24.98 55555 Connection to 10.248.24.98 55555 port [udp/*] succeeded! cdx@cdx:~$
6.测网速
d18主机上监听端口。d18作为接收段
d18@d18:~$ nc -l 55555 >/dev/null
cdx主机上发送数据,全0数据。cdx作为发送端
cdx@cdx:~$ nc 10.248.24.98 55555 </dev/zero
recv为d18入流量
d18@d18:~$ dstat You did not select any stats, using -cdngy by default. --total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai stl| read writ| recv send| in out | int csw 46 2 52 0 0| 47k 157k| 0 0 | 9B 10B| 12k 30k 56 5 37 1 0| 0 332k| 65M 887k| 0 0 | 29k 60k 49 4 46 0 0| 0 4096B| 65M 966k| 0 0 | 30k 61k 58 6 36 0 0| 0 164k| 72M 860k| 0 0 | 28k 58k 48 5 47 0 0| 0 216k| 80M 1009k| 0 0 | 29k 61k 51 4 45 0 0| 0 0 | 62M 941k| 0 0 | 29k 61k 54 6 39 0 0| 0 16k| 74M 1000k| 0 0 | 30k 64k 54 5 41 0 0| 0 76k| 60M 910k| 0 0 | 29k 62k 45 4 50 1 0| 0 48k| 69M 994k| 0 0 | 29k 63k 56 6 38 1 0| 0 24k| 87M 945k| 0 0 | 29k 60k 57 6 37 0 0| 0 0 | 72M 1039k| 0 0 | 30k 63k 56 6 37 1 0| 0 284k| 67M 960k| 0 0 | 29k 61k 55 6 38 1 0| 0 132k| 71M 1025k| 0 0 | 31k 64k
send为cdx发送流量
cdx@cdx:~$ dstat You did not select any stats, using -cdngy by default. --total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai stl| read writ| recv send| in out | int csw 1 0 98 1 0| 167k 133k| 0 0 | 0 0 |2555 2722 4 1 96 0 0| 0 0 | 513k 90M| 0 0 | 68k 11k 4 0 95 1 0| 0 20k| 770k 79M| 0 0 | 63k 11k 4 0 96 0 0| 0 0 | 927k 69M| 0 0 | 58k 11k 3 1 96 0 0|4096B 0 | 903k 76M| 0 0 | 62k 11k 3 0 97 0 0| 0 0 | 838k 61M| 0 0 | 52k 9501 4 0 95 1 0| 0 116k| 855k 67M| 0 0 | 56k 9916 3 0 96 0 0| 0 0 | 912k 67M| 0 0 | 56k 10k 4 0 96 0 0| 0 0 | 932k 82M| 0 0 | 66k 11k 4 0 94 2 0| 0 20k| 874k 71M| 0 0 | 59k 11k 4 0 96 0 0| 0 0 | 911k 69M| 0 0 | 58k 10k 4 0 96 0 0| 0 132k| 894k 67M| 0 0 | 56k 10k 3 0 96 0 0| 0 0 | 858k 71M| 0 0 | 59k 11k
三、nc使用语法及参数说明
OpenBSD netcat(Debian 补丁级别 1.187-1ubuntu0.1)
用法:nc  [-46CDdFhklNnrStUuvZz] [-I 长度] [-i 间隔] [-M ttl]
      [-m minttl] [-O 长度] [-P proxy_username] [-p source_port]
			[-q 秒] [-s 源] [-T 关键字] [-V rtable] [-W recvlimit] [-w 超时]
			[-X proxy_protocol] [-x proxy_address[:port]] [destination] [port]
        命令摘要:
                -4 使用 IPv4
                -6 使用 IPv6
                -b 允许广播
                -C 发送 CRLF 作为行尾
                -D 启用调试套接字选项
                -d 与标准输入分离
                -F 传递套接字 fd
                -h 这个帮助文本
                -I length TCP 接收缓冲区长度
                -i 间隔 发送线路的延迟间隔,扫描的端口
                -k 保持入站套接字为多个连接打开
                -l 监听模式,用于入站连接
                -M ttl 传出 TTL / 跳数限制
                -m minttl 最小传入 TTL / 跳数限制
                -N 在标准输入 EOF 后关闭网络套接字
                -n 禁止名称/端口解析
                -O length TCP 发送缓冲区长度
                -P proxyuser 代理认证的用户名
                -p port 指定远程连接的本地端口
                -q secs 在标准输入 EOF 后退出并延迟 secs
                -r 随机化远程端口
                -S 启用 TCP MD5 签名选项
                -s source 本地源地址
                -T 关键字 TOS 值
                -t 应答 TELNET 协商
                -U 使用 UNIX 域套接字
                -u UDP 模式
                -V rtable 指定备用路由表
                -v 详细
                -W recvlimit 收到一定数量的数据包后终止
                -w timeout 连接和最终网络读取超时
                -X proto 代理协议:“4”、“5”(SOCKS)或“connect”
                -x addr[:port] 指定代理地址和端口
                -Z DCCP 模式
                -z 零 I/O 模式 [用于扫描]
        端口号可以是单个或范围:lo-hi [含]
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号