网络工具中的“瑞士军刀”-netcat

发布时间:2018-01-10 18:21:33编辑:丝画阁阅读(725)

网络工具中的“瑞士军刀”-netcat

这篇文章要介绍的是,享有Linux网络工具中的“瑞士军刀”盛誉的netcat(别名:nc)命令,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。

  • 端口的刺探

    查看某ip的某端口是否开放

    bogon:~ Aec$ nc -v www.thanks.live 80www.thanks.live [47.91.132.205] 80 (http) open
  • 简单的chat服务器

    server端执行(我们假设server的ip是192.168.33.10):

    nc -l -p 2345

    其中,-l表示nc处于监听模式,用于入站连接,-p指定端口号(这里我们指定2345端口)

    client端执行:

    nc 192.168.33.10 2345

    这样,就建立起了一个简单的chat服务器,client端或server端输入的内容,都能显示的另一端。

网络工具中的“瑞士军刀”-netcat

简单的chat服务器

  • telnet服务器

nc命令里有一个-e的选项,用来程序重定向,提供远程登录的服务

网络工具中的“瑞士军刀”-netcat

telnet服务器

如上图,现实了client端远程登录server端,client端ls命令所列文件都是server机器的文件资源。

  • ftp服务器

scp是我们常用的文件传输命令,nc也可以接收文件输入,示例如下(文件接收方receiver的ip是192.168.33.10):

网络工具中的“瑞士军刀”-netcat

ftp服务器

这样,就把发送方的readme.log文件传到了接收方文件目录下。

注:如果在上述命令测试中,没有达到预期的效果,请留意:(1)使用的端口是不是1024以内,1024以外的端口需要root权限;(2)使用的端口号是否超过65535,linux系统的最大可用socket端口是65535;(3)使用的端口是否被防火墙限制

关键字