摘自http://www.68idc.cn/help/server/linux/2014040682705.html

NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。

一、版本 通常的Linux发行版中都带有NetCat(简称nc),甚至在拯救模式光盘中也由busybox提供了简版的nc工具。但不同的版本,其参数的使用略有差异。 NetCat 官方地址:

引用[root@hatest1 ~]# cat /etc/asianux-release Asianux release 2.0 (Trinity SP2) [root@hatest1 ~]# cat /etc/redflag-release Red Flag DC Server release 5.0 (Trinity SP2) [root@hatest1 ~]# type -a nc nc is /usr/bin/nc [root@hatest1 ~]# rpm -q nc nc-1.10-22

建议在使用前,先用man nc看看帮助。这里以红旗DC Server 5.0上的1.10版本进行简单说明。 假设两服务器信息:

server1: 192.168.10.10 server2: 192.168.10.11

二、常见使用 1、远程拷贝文件 从server1拷贝文件到server2上。需要先在server2上,,用nc激活监听,

server2上运行: nc -l 1234 > text.txt

server1上运行: nc 192.168.10.11 1234 < text.txt

注:server2上的监听要先打开

2、克隆硬盘或分区 操作与上面的拷贝是雷同的,只需要由dd获得硬盘或分区的数据,然后传输即可。 克隆硬盘或分区的操作,不应在已经mount的的系统上进行。所以,需要使用安装光盘引导后,进入拯救模式(或使用Knoppix工具光盘)启动系统后,在server2上进行类似的监听动作:

nc -l -p 1234 | dd of=/dev/sda

server1上执行传输,即可完成从server1克隆sda硬盘到server2的任务:

dd if=/dev/sda | nc192.168.10.11 1234

※ 完成上述工作的前提,是需要落实光盘的拯救模式支持服务器上的网卡,并正确配置IP。

3、端口扫描 可以执行:

# nc -v -w 2 192.168.10.11 -z 21-24 nc: connect to 192.168.10.11 port 21 (tcp) failed: Connection refused Connection to 192.168.10.11 22 port [tcp/ssh] succeeded! nc: connect to 192.168.10.11 port 23 (tcp) failed: Connection refused nc: connect to 192.168.10.11 port 24 (tcp) failed: Connection refused -z后面跟的是要扫描的端口

4、保存Web页面

# while true; do nc -l -p 80 -q 1 < somepage.html; done

5、模拟HTTP Headers

引用[root@hatest1 ~]# nc  80 GET / HTTP/1.1 Host: ispconfig.org Referrer: mypage.com User-Agent: my-browser

HTTP/1.1 200 OK Date: Tue, 16 Dec 2008 07:23:24 GMT Server: Apache/2.2.6 (Unix) DAV/2 mod_mono/1.2.1 mod_python/3.2.8 Python/2.4.3 mod_perl/2.0.2 Perl/v5.8.8 Set-Cookie: PHPSESSID=bbadorbvie1gn037iih6lrdg50; path=/ Expires: 0 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Cache-Control: private, post-check=0, pre-check=0, max-age=0 Set-Cookie: oWn_sid=xRutAY; expires=Tue, 23-Dec-2008 07:23:24 GMT; path=/ Vary: Accept-Encoding Transfer-Encoding: chunked Content-Type: text/html [......]

在nc命令后,输入红色部分的内容,然后按两次回车,即可从对方获得HTTP Headers内容。

6、聊天 nc还可以作为简单的字符下聊天工具使用,同样的,server2上需要启动监听:

server2上启动:# nc -lp 1234 server1上传输:# nc 192.168.10.11 1234

这样,双方就可以相互交流了。使用Ctrl+D正常退出。

7、传输目录 从server1拷贝nginx-0.6.34目录内容到server2上。需要先在server2上,用nc激活监听,

server2上运行:# nc -l 1234 |tar xzvf -

server1上运行:# tar czvf - nginx-0.6.34|nc 192.168.10.11 1234

8、用nc命名操作memcached

1)存储数据:printf “set key 0 10 6rnresultrn” |nc 192.168.10.11 11211 2)获取数据:printf “get keyrn” |nc 192.168.10.11 11211 3)删除数据:printf “delete keyrn” |nc 192.168.10.11 11211 4)查看状态:printf “statsrn” |nc 192.168.10.11 11211 5)模拟top命令查看状态:watch “echo stats” |nc 192.168.10.11 11211 6)清空缓存:printf “flush_allrn” |nc 192.168.10.11 11211 (小心操作,清空了缓存就没了)

nc命令 (NetCat)的更多相关文章

  1. Linux nc命令详解

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

  2. nc命令用法举例

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

  3. nc命令总结

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

  4. NC 命令引用了一个高手的文章做收藏

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

  5. linux环境下nc命令的应用

    一.安装 下载 http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm rpm -iUv nc-1.84-22 ...

  6. nc 命令使用详解

    nc 命令介绍: Ncat is a feature-packed networking utility which reads and writes data across networks fro ...

  7. Linux nc命令用法收集

    ps.ubuntu自带的nc是netcat-openbsd版,不带-c/-e参数. pss.在线Markdown编辑器的bug是怎么回事...“#”号依然显示着 ##参数 想要连接到某处: nc [- ...

  8. nc命令的常用参数介绍

    nc命令的常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必做运维的应该在网络安全上都对一些开源软件都应该是相当的了解吧,比如tcpdump,namp等神奇,今天要给 ...

  9. 【转至nmap】nc命令

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

随机推荐

  1. [转载]Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结

    转载:http://blog.csdn.net/ithomer/article/details/6100734 知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式 ...

  2. Java动态 遍历List 时删除List特征元素 异常问题 及解决方案总结

    首先.这是一个极其简单的问题,大牛可忽略.新手可能会遇到,Java中遍历某个List 时删除该List元素 会抛出异常. 这一个简单的问题再高手严重不值一提,但新手可能会比較困惑,用哪种方式能够安全有 ...

  3. 下拉框Html.DropDownList 和DropDownListFor 的经常用法

    一.非强类型: Controller: ViewData["AreId"] = from a in rp.GetArea()                             ...

  4. XTU OJ 1209 Alice and Bob 2014(嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛)

    Problem Description The famous "Alice and Bob" are playing a game again. So now comes the ...

  5. [Hapi.js] Managing State with Cookies

    hapi has built-in support for parsing cookies from a request headers, and writing cookies to a respo ...

  6. 关于Emit中动态类型TypeBuilder创建类标记的一点思考

      利用TypeBuilder是可以动态创建一个类型,现在有个需求,动态生成一个dll,创建类型EmployeeEx,需要继承原dll里面的Employee类,并包含Employee类上的所有类标记. ...

  7. java web移植 遇到Project facet Java version 1.7 is not supported

    在移植eclipse项目时,如果遇到 "Project facet Java version 1.7 is not supported." 项目中的jdk1.7不支持.说明项目是其 ...

  8. (原)ippicvmt.lib(ippinit.obj) : error LNK2005: _ippSetCpuFeatures@8 已经在 ippcoremt.lib(ippinit.obj) 中定义

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5497234.html 参考网址: http://answers.opencv.org/question ...

  9. Virtual Environments

    virtualenv 再另一篇随笔中已经提到过virtualenv.如果我们有好几个不同的项目,他们需要的第三方包版本不同,那怎么办呢.这时候就需要virtualenv创建一个虚拟环境,里面包含了一个 ...

  10. 轻量级jquery框架之--工具栏(toolbar)

    工具栏需求: (1)要求工具栏可以通过JSON配置格式生成,这样可以从服务器端控制生成的JSON来控制UI层面的按钮状态 (2)可以自定义按钮的图标样式. (3)可以定义按钮事件,按钮事件需要支持以字 ...