找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1807|回复: 0
收起左侧

Linux nc 命令简单用法

[复制链接]
ID:404613 发表于 2018-10-1 11:57 | 显示全部楼层 |阅读模式
本帖最后由 scdlok 于 2018-10-1 12:00 编辑

nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具

使用 nc 命令发送文件和字符串:
nc -l 表示 listen,监听。
A机器 IP 地址为 192.168.1.109 ,在A机器上执行如下指令:
scdl@ubuntu:~/scdl/work$ nc -l 9999        #  TCP监听 9999 端口
在B机器上执行如下指令发送字符串 "hello world":
scdl@ubuntu:/tftpboot$ echo "hello world" |nc 192.168.1.109 9999
再查看A机器结果,发现打印出了B机器发送来的 "hello world" 。
nc 发送文件与发送字符串类似,只不过将字符串变成了文件:
A机器运行指令:
$ nc -l 9999                        # TCP 监听 9999 端口
B 机器运行指令:
$ nc 192.168.1.109 9999 < fileName
这里用到了输入重定向,将文件 fileName 的内容发送到 192.168.1.109:9999,等价于运行:
$ cat passwd |nc 192.168.1.109 9999
在机器A端收到的数据时字符流,并且会打印到标准输出,如果要达到传输文件的效果,只要将结果输出重定向到某个文件中即可,在 A 机器运行如下指令:
$ nc -l 9999 > fileName
这样,A 机器收到数据之后就会保存到文件 fileName 中。

另外,对于嵌入式,如果使用 busybox 自带的  nc 工具,监听某个端口的时候,必须要使用 -p 参数指定端口,例如通过 busybox 自带的 nc 从虚拟机下载文件 SN.cfg:
~ # nc -l 9999 > /home/SN.cfg
nc: bad address '9999'                # 报错
~ # nc -lp 9999 > /home/testFile                 # 加上-p 参数,指定 port 端口为 9999
下载文件成功!


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表