IT技术博客大学习 共学习 共进步

实用命令行工具详解(四)—netcat

   netcat 或者 nc 是 Linux 下的一个用于调试和检查网络工具包的工具。可用于创建 TCP/IP 连接。netcat被称为网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,可以在脚本中以多种方式使用它。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。

   应用举例:

   1. 侦听指定端口

   server:

$ nc -l 99991
 然后你可以使用客户端模式来连接到 9999 端口:
 
client: 1$ nc localhost 999

   现在如果你输入一些文本,它将被发送到服务器端

   2. 使用 netcat 来传输文件

   假设我们本地有一个 local文件,内容为:hello ranger

   而在服务器端有一个空文件名为 server

   然后我们使用如下命令来启用服务器端:

   server:

$ nc -l 9999 > server

   client:

cat local | nc localhost 9999

   然后你停止服务器端,你可以查看 server 的内容就是刚才客户端传过来的 local 文件的内容:

   hello ranger

   3. netcat 支持超时控制

   多数情况我们不希望连接一直保持,那么我们可以使用 -w 参数来指定连接的空闲超时时间,该参数紧接一个数值,代表秒数,如果连接超过指定时间则连接会被终止。

   server:

nc -l 9999

   client:

$ nc -w 10 localhost 9999

   该连接将在 10 秒后中断。

   注意: 不要在服务器端同时使用 -w 和 -l 参数,因为 -w 参数将在服务器端无效果。

建议继续学习

  1. vim几个小技巧(批量替换,列编辑) (阅读 37,265)
  2. ps - 按进程消耗内存多少排序 (阅读 12,524)
  3. find命令的一点注意事项 (阅读 11,683)
  4. 100个常用的linux命令 (阅读 11,446)
  5. 每个程序员都应该知道的8个Linux命令 (阅读 10,586)
  6. 最受欢迎的10个 Linux 单行命令 (阅读 10,004)
  7. Linux date 命令获取某日期的前一天 (阅读 9,726)
  8. ps 命令常见用法 (阅读 9,325)
  9. Linux常用系统信息查看命令 (阅读 8,504)
  10. Linux 常见高危操作 (阅读 8,263)