• 技术文章 >运维 >linux运维

    linux nc和telnet的区别是什么

    青灯夜游青灯夜游2023-02-08 17:59:19原创50

    nc和telnet实现的功能不同:1、telnet可以连接服务器端口,并进行通信;而nc可以监听服务器端口,并与客户端通信(最多只能接收一个客户端)。2、telnet可以登录远程telnet服务器,使用命令行对其进行控制;而nc是对指定服务器进行端口扫描,它作为客户端连接到远程服务器进行通信。

    本教程操作环境:linux7.3系统、Dell G3电脑。

    Telnet简介

    telnet程序可以直接与web服务器进行对话。

    通过telnet可以打开一条到某台机器上某个端口的TCP连接,然后直接向那个端口输入一些字符。web服务器会将telnet程序作为一个web客户端来处理,所有回送给TCP连接的数据都会显示在屏幕上。

    telnet www.xxx.com 80
    GET /tools.html HTTP/1.1
    Host: www.xxx.com

    response:

    HTTP/1.1 200 OK
    DATE: Sun, 01 Oct 2000 23:25:17 GMT
    Server: Apache/1.3.11 BSafe-SSL/1.38 (Unix) FrontPage/4.0.4.3
    Last-Modified: Tue, 04 Jul 2000 09:46:21 GMT
    ETag: "373979-193-3961b26d"
    Accept-Ranges: bytes
    Content-length: 403
    Connection: close
    Content-Type: text/html
    
    <html>
    <head><title>xxxx</title></head>
    <body>
    <h1>Tools page</h1>
    ...
    </body>
    </html>
    Connection closed by foreign host.

    Telnet 会查找主机名并打开一条连接,连接到在www.xxx.com的端口80上监听的web服务器。

    Telnet可以很好的模拟HTTP客户端,但是不能作为服务器使用。而且对telnet做脚本自动化非常麻烦。如果想要更灵活的工具,可以看看下面的netcat。通过nc可以很方便滴操纵基于UDP和TCP的流量(包括HTTP),还可以为其编写脚本。

    Netcat(NC)简介

    Netcat在网络工具中有“瑞士军刀”美誉。它是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end) 工具,通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。同时,它又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。Netcat,它的实际可运行的名字叫nc,是一个很早就被提供,但没有公开的事实标准的Unix工具。使用NC命令所能完成的事情令人惊讶。

    Netcat还可以当服务器使用,监听任意指定端口的连接请求(inbound connection),并可做同样的读写操作。除了较小限制外,它实际并不关心自己以“客户端”模式还是“服务器”模式运行,它都会来回运送全部数据。在任何一种模式下,都可以设置一个非活动时间来强行关闭连接。  它还可以通过UDP来完成这些功能,因此它就象一个telnet那样的UDP程序,用来测试你的UDP服务器。正如它的“U”所指的,UDP跟TCP相比是一种不可靠的数据传输,一些系统在使用UDP 传送大量数据时会遇到麻烦,但它还有一些用途。

    NC所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。

    主要用途

    一般我们使用netcat做的最多的事情为以下三种:

    1、扫描指定IP端口情况

    2、端口转发数据(重点)

    3、提交自定义数据包

    nc和telnet的区别

    telnet可以实现的功能:

    nc可以实现的功能:

    扩展知识:

    Telnet不通的原因

    1、telnet服务本身的问题:服务是否启用

    2、防火墙策略问题:telnet服务所在的系统防火墙是否做了限制,从源主机到提供telnet服务的主机之间的防火墙是否做了限制

    3、服务是否限制ip,服务是否达到最大连接数

    ping不通的原因

    1、服务器没启动/ip不存在

    2、网段不同,通过路由也无法找到

    3 、防火墙设置,过滤了ping发出的ICMP数据包,导致无反馈,time out

    4、Ip地址设置错误,对于多个网卡的服务器来说,每个网口的ip配置必须不能在同一个网段,否则会造成路由不知选择哪一个出口

    5、 网线故障

    6)、未设置网关,这个对于小网128网段,走路由器的,如果未配置将无法路由

    相关推荐:《Linux视频教程

    以上就是linux nc和telnet的区别是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux whereis命令怎么用 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • linux vim有几种工作模式• Linux怎么显示当前路径• linux 磁盘配额是什么• linux怎么查看过去登陆的用户信息• linux下静态链接库和动态链接库的区别是什么
    1/1

    PHP中文网