小编geo*_*org的帖子

BSD nc (netcat) 不会在 EOF 上终止

主持人A:

tar cf -  stuff | dd | nc  -N -l 12987
Run Code Online (Sandbox Code Playgroud)

主持人乙:

nc a.example.com 12987 | dd | tar tf - 
Run Code Online (Sandbox Code Playgroud)

在主机 A 上完成dd后打印其摘要tar。因此很明显, tar 关闭了管道/文件 -> EOF

165040+0 条记录中的 165040+0 条记录输出 84500480 字节在 25.464802 秒内传输(3318325 字节/秒)

在两个主机上nc愉快地坐在那里没有退出。 nc(1)

   -N      shutdown(2) the network socket after EOF on the input.  Some
           servers require this to finish their work.
Run Code Online (Sandbox Code Playgroud)

因此,对主机Anc应该看到EOF,闭合该死插座和主机Bnc应该看到TCP连接终止并且应该已经关闭stdoutstdindd/ tar …

networking freebsd bsd nc

6
推荐指数
2
解决办法
6200
查看次数

标签 统计

bsd ×1

freebsd ×1

nc ×1

networking ×1