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扫描

nc -v -z -w2 192.168.1.131 1-30

udp扫描

nc -u -v -z -w2 192.168.1.131 1-30

2)连接到远程主机,例子:

格式:nc -nv 192.168.x.x 80

讲解:连到 192.168.x.x 的 TCP80 端口

3)监听LOCAL主机,例子:

格式:nc -l 80

讲解:监听本机的 TCP80 端口

4)扫描远程主机,例子:

格式:nc -nv -w2 -z 192.168.x.x 80-445

讲解:扫描 192.168.x.x 的 TCP8 0到 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连接,然后把传输的文件重定向到数据流当中。





转载自: http://samyubw.blog.51cto.com/978243/555247

linux 下 nc 命令的使用的更多相关文章

  1. linux 下nc 命令的使用

    linux 下nc 命令的使用 https://blog.51cto.com/samyubw/555247

  2. Linux下nc命令的使用

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

  3. Linux利用nc命令脚本批量检测服务器指定端口是否开放

    一.nc命令检测端口的用法 # nc -v -w 10 %IP% -z %PORT% -v 显示指令执行过程. -w <超时秒数> 设置等待连线的时间. -u 表示使用UDP协议 -z 使 ...

  4. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  5. 例解 Linux 下 Make 命令

    Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...

  6. Linux下who命令之C语言实现

    Linux下who命令之C语言实现 Step1:前期准备 首先要有一个清楚的认识:linux中一切皆文件 实现who命令,who命令也是Linux中的一个文件,那我们怎么找到它呢?我们可以" ...

  7. linux下history命令显示历史指令记录的使用方法

    Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...

  8. linux下svn命令使用大全

    最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ...

  9. Linux下rz命令使用的实例详解

    Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...

随机推荐

  1. 【BZOJ4569】萌萌哒(并查集,倍增)

    [BZOJ4569]萌萌哒(并查集,倍增) 题面 BZOJ 题意: 有一个长度为\(n\)的数 给定\(m\)个限制条件 每次限制\(l1-r1\)与\(l2-r2\)是相同的 求出方案数 题解 如果 ...

  2. [BZOJ1610] [Usaco2008 Feb] Line连线游戏 (set)

    Description Farmer John最近发明了一个游戏,来考验自命不凡的贝茜.游戏开始的时 候,FJ会给贝茜一块画着N (2 <= N <= 200)个不重合的点的木板,其中第i ...

  3. 微信小程序天坑--图片汉字命名

    图片用汉字命名的,在开发者工具中是显示的,但是,在真机的微信中,是不会显示的. 大写的尴尬,微信小程序开发者工具对于做微信的UI来说,就是一个天坑,在电脑上漂漂亮亮的,到手机上各种意想不到的情况.

  4. 基于Redis的简单分布式锁的原理

    参考资料:https://redis.io/commands/setnx 加锁是为了解决多线程的资源共享问题.Java中,单机环境的锁可以用synchronized和Lock,其他语言也都应该有自己的 ...

  5. 关于Android attrs 自定义属性的说明

    写个自定义控件时经常要自定义一些自己的属性,平时用的都是那几个,今天就顺便一起总结一下这个东东吧- 一.定义:属性的定义都在attrs.xml文件里面: 二.读取:通过都是通过TypedArray去读 ...

  6. centos7安装eclipse方法

    很多喜欢编程的朋友并不是很喜欢使用Windows来编写程序,尽管可视化编程但是操作相对繁琐,因而只在电脑上装有Linux系统,那么我们来说一下Linux下安装Java EE编程工具eclipse的方法 ...

  7. 34.Ajax

    优先级 如果发送的是[普通数据] jQuery XMLHttpRequest iframe 如果发送的是[文件] iframe jQuery(FormData) XMLHttpRequest(Form ...

  8. python 全栈开发,Day3

    python之集合,深浅copy 一.集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把 ...

  9. ServiceFabric极简文档-0. ServiceFabric简介

    前言: 最近ServiceFabric开源了,大家热情都比较高,官方文档大而全,但快速入手不容易找到头绪.发几篇极简的文档,跟大家分享一下,顺便为Ray的ServiceFabric部署做一下铺垫.因为 ...

  10. java 多线程(总结)

    今天看了几篇关于java多线程问题的文章,将他们的部分内容引过来总结下,也算是对java多线程这类问题的整理. 在多线程中,必须明白两个问题,一是多线程实现,二是代码同步. 在java中要想实现多线程 ...