首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
探索世界的好奇心万岁
Udacity
网易公开课
Godel, Escher, Bach: An Eternal Golden Braid
V2EX  ›  分享发现

两个节点之间还能这样传文件。

  •  
  •   uyhyygyug1234 · 99 天前 · 1756 次点击
    这是一个创建于 99 天前的主题,其中的信息可能已经有所发展或是发生改变。
    使用 Bash /dev/tcp 进行文件传输首先需要监听端口

    接收端:
    nc -lvnp 1337 > secret.txt

    发送端:
    cat secret.txt > /dev/tcp/ip/port
    13 回复  |  直到 2019-07-09 08:45:30 +08:00
        1
    ob   99 天前 via Android
    支持其他文件格式么?
        2
    trys1   99 天前 via Android
    @ob 支持的,文件是按二进制传输
        3
    Jirajine   99 天前 via Android
    我记得有个表情包,Linux 系统之间传输文件的四重境界。
        4
    weyou   99 天前 via Android
    看上去接收方也不需要 nc,也可以通过 /dev/tcp/ip/port 来接收数据
        5
    uyhyygyug1234   99 天前
    @ob 都支持的
        6
    2067   99 天前
    nc -l > filename
    nc ip port < filename
        7
    2067   99 天前
    @yujiaxin #6

    少了个端口号
    nc -l port > filename

    还有更有意思的

    nc - l port | tar -zxvf -
    tar -cvfz - DirnameOrFilename | nc ip port
        8
    lixiang2017   99 天前 via Android
    问一下,两端命令需要有先后顺序吗 怎么判断传输结束呢
        9
    WordTian   99 天前 via Android   ♥ 1
    @lixiang2017 得先开接收端监听端口
    传输结束的时候猜测可能最后会发个 eof 字符
        10
    Dslayer   99 天前
    secret 不要這樣傳輸,先 gpg 一下?
    或者 cat secret.txt | ssh XXXXXXX
        11
    Dslayer   99 天前   ♥ 1
    @Dslayer 腦抽了, scp 完事。
        12
    goodryb   99 天前
    直接 SCP 不就完事了
        13
    urmyfaith   98 天前
    you need `man nc`
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4289 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 32ms · UTC 08:51 · PVG 16:51 · LAX 01:51 · JFK 04:51
    ♥ Do have faith in what you're doing.