Benjamin

静以修身,俭以养德,非澹薄无以明志,非宁静无以致远。
随笔 - 388, 文章 - 0, 评论 - 196, 引用 - 0
数据加载中……

Linux:nc命令简介

nc全称是netcat,是一个功能强大的网络工具,其功能是用于扫描与连接指定端口,有着网络界的瑞士军刀美称。nc命令可用于扫描网络中的主机端口,支持tcp和udp连接,对于网络工程师来讲,可以方便的进行网络问题的排查。
1.安装:
sudo apt update
sudo apt install netcat  #ubuntu系统

sudo yum install nc  #centos系统

2.命令语法及参数:
语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]
参 数:
 -g<网关> 设置路由器跃程通信网关,最多可设置8个。
 -G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
 -h  在线帮助。
 -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
 -l  使用监听模式
 -n  直接使用IP地址,而不通过域名服务器。、
 -o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
 -p<通信端口> 设置本地主机使用的通信端口。
 -r  乱数指定本地与远端主机的通信端口。
 -s<来源位址> 设置本地主机送出数据包的IP地址。
 -u  使用UDP传输协议。
 -v 详细输出--用两个-v可得到更详细的内容
 -w<超时秒数> 设置等待连线的时间。
  -z  使用0输入/输出模式,只在扫描通信端口时使用。

3.传输文件(单文件)
必须先接收方启动监听:nc -l port > file #用法      nc -l 21 > 1.txt #文件名随意
发送端连接接收方并发送:nc 接收端B主机ip port < file  #命令用 nc 192.168.6.217 34 < 1.txt
4.传输文件夹
接收方:nc -l 21 | tar xfvz -   
发送方:tar cfz - * | nc 192.168.6.216 21 #管道前面表示把当前目录的所有文件打包为 - ,然后使用nc发送给B机器

nc forward host lookup failed: h_errno 11001: HOST_NOT_FOUND解决:
nc yourip 1008 -e c:\windows\system32\cmd.exe(windows下nc常见错误)

5.
nc端口探测
nc -l来临时启动一个tcp端口9999,启动后其他机器可用telnet等命令测试连通性

nc工具可以用作端口扫描,来测试服务器的某个/某些端口是否开启,例如22端口、80端口。

探测举例(u表示udp端口,不加则表示tcp) 例如:nc -vuz 192.168.5.45 8475

批量探测主机端口shell脚本

#!/bin/bash
IP="192.168.5.45"
for PORT in {1..10000}; do
    (nc -w 2 -z $IP $PORT && echo "Port $PORT is open") &
done
wait



6、聊天(也可测试UDP)
服务端A启动udp端口 nc -u -l 8473
客户端B监听此端口  nc -u  B主机ip 8473  







posted on 2024-04-22 22:06 Benjamin 阅读(8) 评论(0)  编辑 收藏 引用 所属分类: linux


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理