美文网首页
linux中的一个特殊文件: /dev/tcp

linux中的一个特殊文件: /dev/tcp

作者: taj3991 | 来源:发表于2020-02-20 11:58 被阅读0次

    linux中的一个特殊文件: /dev/tcp ,打开这个文件就类似于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。

    /dev/[tcp|upd]/host/port 只要读取或者写入这个文件,相当于系统会尝试连接:host 这台机器,对应port端口。如果主机以及端口存在,就建立一个socket 连接。将在,/proc/self/fd目录下面,有对应的文件出现。

    1.打开/dev/tcp

    以读写方式打开/dev/tcp,并指定服务器名为: www.csdn.net,端口号为:80,指定描述符为8。

    exec 8<>/dev/tcp/www.csdn.net/80
    

    要注意的是:/dev/tcp本身是不存在的。

    2. 向文件中写入数据

    向文件中随便写一些数据:

    echo -e "GET / HTTP/1.0\n" > &8;
    

    GET请求发送给socket连接。

    3. 读文件

    读取返回的信息:

    cat 0 < &8
    

    从socket读取返回信息,显示为标准输出

    4.关闭文件

    exec 8<&-;
    exec 8>&-; 
    

    关闭socket的输入,输出

    原文

    https://blog.csdn.net/zhjutao/article/details/8622751
    https://www.cnblogs.com/chengmo/archive/2010/10/22/1858302.html

    相关文章

      网友评论

          本文标题:linux中的一个特殊文件: /dev/tcp

          本文链接:https://www.haomeiwen.com/subject/xxtxqhtx.html