nc传文件快但无校验重传和进度,易损坏;接收方须先运行nc -l 9999 > received.zip监听,确认端口未占、防火墙放行且多网卡时指定绑定ip;发送方用nc 192.168.1.100 9999
nc传文件快,但不校验、不重传、不报错——传完发现received.zip打不开,是大概率事件。别当scp用,它只是裸 TCP 流转发。接收方必须先监听,且端口要真能绑上
运行
nc -l 9999 > received.bin前,得确认三件事:
-l参数不能漏,否则nc默认当客户端去连别人,不是监听- 端口没被占:用
ss -tuln | grep :9999查,输出为空才安全- 防火墙放行:CentOS 7+ 执行
sudo firewall-cmd --add-port=9999/tcp --permanent && sudo firewall-cmd --reload;云服务器还得检查安全组- 多网卡机器默认只监听
127.0.0.1,要指定地址:nc -l -s 192.168.1.100 9999 > file发送方重定向方向别写反,IP别填错
nc 192.168.1.100 9999 是唯一正确写法:
宝塔Linux面板11.8.1下载宝塔Linux面板11.8.1为官网当前正式版,新增AI建站能力并经过宝塔网站工程师深度调教,开放自定义AI功能API,同时对WAF进行界面重构和深度优化,提升拦截能力与运维效率。
是输入重定向,写成 <code>>会清空本地file.zip- IP 必须是接收方的**真实局域网 IP**,不是
127.0.0.1或内网 NAT 地址;用ip a确认- 文件名含空格?加引号:
nc 192.168.1.100 9999- 不确定连得通?先测:
nc -zv 192.168.1.100 9999,返回succeeded!再发大文件或目录传完卡住?加
-N或改用tar流式
nc默认等 EOF,但某些 shell 不发 FIN,接收方就一直挂着不动:
- 发送方加
-N:nc -N 192.168.1.100 9999- 更稳的是流式打包传输:
接收方:nc -l 9999 | tar -xzf -
发送方:tar -czf - /dir | nc 192.168.1.100 9999tar方式天然支持目录、避免单文件写满磁盘、还能压缩传完不等于传对,
md5sum必做
nc连中断、缓冲区截断、Ctrl+C 都会导致末尾数据丢失,且完全不提示:
- 发送方算哈希:
md5sum file.zip- 接收方等
nc进程退出(ps aux | grep nc看不到对应进程)、文件大小不再增长后,再算:md5sum received.zip- 两行输出的哈希值**必须逐字符一致**;不一致就说明损坏,别急着重传——先查
df -h看磁盘是否满,再确认双方nc版本(nc -h输出里看是不是netcat-openbsd,它对-N支持更可靠)真正容易被忽略的是:
nc退出不等于文件写完。终端回到 prompt,received.zip可能还在刷盘缓存里——得盯住文件大小变化,再确认nc进程已消失,才算落地。
相关文章
如何在Linux中设置共享目录权限
Linux怎么查看CPU主频的实时动态
Linux怎么查看具体的网络数据包丢失原因详细分类
Linux如何查看具体的网络套接字在内核中的状态变迁图
如何在Linux中配置具体的网络端口转发
相关标签:
linux本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn












