`
zfy421
  • 浏览: 233657 次
社区版块
存档分类
最新评论

nc命令详解

阅读更多

netcat被誉为网络安全界的‘瑞士军刀’,相信没有什么人不认识它吧……
一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,
能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几
乎所有类型的网络连接,还有几个很有意思的内置功能(详情请看下面的使用方法)。
nc命令详解
Filed under: security — ranbo @ 9:08 pm 
netcat被誉为网络安全界的‘瑞士军刀’,相信没有什么人不认识它吧……
一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,
能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几
乎所有类型的网络连接,还有几个很有意思的内置功能(详情请看下面的使用方法)。
在中国,它的WINDOWS版有两个版本,一个是原创者Chris Wysopal写的原版本,另一个是由‘红与黑’编译
后的新‘浓缩’版。‘浓缩’版的主程序只有10多KB(10多KB的NC是不能完成下面所说的第4、第5种使用方法,
有此功能的原版NC好象要60KB:P),虽然”体积”小,但很完成很多工作。

这里以1.84版本为例 
一、基本使用

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]]

参数:
1. -4 强制使用ipv4 
2. -6 强制使用ipv6 
3. -D 允许socket通信返回debug信息 
4.       -d 不允许从标准输入中读取 
5. -h 显示nc帮助文档 
6. -i interval  
7.    指定每行之间内容延时发送和接受,也可以使多个端口之间的连接延时 
8. -k 当一个连接结束时,强制nc监听另一个连接。必须和-l一起使用 
9. -l 用于监听传入的数据链接,不能与-p -z -s一起使用。-w 参数的超时也会被忽略 
10. -n 不执行任何地址,主机名,端口或DNS查询 
11. -p 指定nc使用的源端口,受权限限制且不能余-l一起使用 
12. -r 指定nc使用的源端口和目的端口,不能使用系统原来就指定的那些端口 
13. -S 允许在RFC 2385的TCP MD5签名选项 
14. -s source_ip_address  
15.    指定用于发包的接口的IP地址,不能和-l一起使用 
16. -T ToS 
17.    指定链接的IP服务类型(TOS) 
18. -C 自动换行 
19. -t 使nc能够与telnet交互 
20. -U 使用UNIX域socket 
21. -u 使用udp代替默认的tcp选项 
22. -v 输出详细报告 
23. -w timeout 
24.     一个链接一段时间无操作,则自动断开,默认无超时 
25. -X proxy_version 
26.     指定nc使用代理时所采用的协议,可选的有socksv4,socks5以及https。默认socks5 
27. -x proxy_address[:port] 
28.     指定nc使用的代理地址和端口。默认设置:1080(SOCKS),3128(HTTPS) 
29. -z 只监听不发送任何包
例如:1.扫描端口

tcp扫描

[root@b28-1286 servers]# nc -vzw2 192.168.12.86 20-30

nc: connect to 192.168.12.86 port 20 (tcp) failed: Connection refused

nc: connect to 192.168.12.86 port 21 (tcp) failed: Connection refused

Connection to 192.168.12.86 22 port [tcp/ssh] succeeded!

nc: connect to 192.168.12.86 port 23 (tcp) failed: Connection refused

nc: connect to 192.168.12.86 port 24 (tcp) failed: Connection refused

nc: connect to 192.168.12.86 port 25 (tcp) failed: Connection refused

nc: connect to 192.168.12.86 port 26 (tcp) failed: Connection refused

nc: connect to 192.168.12.86 port 27 (tcp) failed: Connection refused

nc: connect to 192.168.12.86 port 28 (tcp) failed: Connection refused

nc: connect to 192.168.12.86 port 29 (tcp) failed: Connection refused

 

nc: connect to 192.168.12.86 port 30 (tcp) failed: Connection refused

udp扫描

[root@b28-1286 servers]# nc -uvzw2 192.168.12.86 1-140

 

Connection to 192.168.12.86 111 port [udp/sunrpc] succeeded!

 

2.文本传递

在86、90上建立文件install.log

[root@b28-1286 servers]# nc -l 1234 >install.log 

在86上启动监听,在90上执行:nc -w 1 192.168.12.86 1234 <install.log

现在86上install.log的内容就被90上install.log的内容所覆盖了。

 

3.聊天

[root@b28-1286 servers]# nc -l 1234

12

sdsf

 

我擦

 

[root@b28-1290 etc]# nc 192.168.12.86 1234

12

sdsf

 

我擦

 

3.目录传输

将86上的auto-add-tomcat文件夹及内容复制到90上

在90上启动监听:

nc -l 1234|tar -xzvf -

在86上执行:

tar -cvzf - auto-add-tomcat|nc 192.168.12.90 1234

 

4.在脚本中

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

[root@b28-1286 servers]# rpm -qd nc

/usr/share/doc/nc-1.84/README

/usr/share/doc/nc-1.84/scripts/README

/usr/share/doc/nc-1.84/scripts/alta

/usr/share/doc/nc-1.84/scripts/bsh

/usr/share/doc/nc-1.84/scripts/dist.sh

/usr/share/doc/nc-1.84/scripts/irc

/usr/share/doc/nc-1.84/scripts/iscan

/usr/share/doc/nc-1.84/scripts/ncp

/usr/share/doc/nc-1.84/scripts/probe

/usr/share/doc/nc-1.84/scripts/web

/usr/share/doc/nc-1.84/scripts/webproxy

/usr/share/doc/nc-1.84/scripts/webrelay

/usr/share/doc/nc-1.84/scripts/websearch

 

/usr/share/man/man1/nc.1.gz

 

分享到:
评论

相关推荐

    Linux 中的nc命令小结

    主要介绍了linux中的nc命令知识,非常不错,值得收藏,需要的朋友参考下吧

    网络NC的使用教程与命令详解

    ### 网络NC的使用教程与命令详解 #### 0. 写在前面的话 在探讨Netcat之前,我们先来了解下Netcat的基本概念及其重要性。Netcat(通常简称为“nc”)是一款功能强大的网络工具,它能够通过TCP或UDP协议创建连接并...

    Linux命令详解词典.pdf

    《Linux命令详解词典》是一本详尽解析Linux操作系统中常用命令的参考书籍。Linux作为开源、免费的操作系统,其强大的命令行工具是其高效工作的重要组成部分。这本书旨在帮助用户理解和掌握这些命令,从而更好地在...

    [Linux命令详解词典]

    《Linux命令详解词典》是由施威铭研究室编著的一本详尽解析Linux命令的参考书籍,旨在帮助用户深入理解和掌握Linux操作系统中的各种命令。这本书以扫描版的形式提供,包含PDF格式,方便读者在线阅读或下载。标签...

    linux下常用命令指nc

    ### Linux 下常用命令详解:Netcat (nc) 在 Linux 系统中,`nc`(Netcat)是一款功能强大的网络工具,它可以帮助用户通过 TCP 或 UDP 协议发送和接收数据包。`nc` 命令具有多种用途,包括端口扫描、传输文件、创建...

    DOS实用命令1000条

    #### nc命令详解 - **nc命令**:nc是网络通信工具netcat的简称,可用于读写数据包。 - **选项**: - `-h`:显示帮助信息。 - `-l`:监听模式。 - `-p port`:指定监听端口。 - `-v`:显示详细信息。 - `-z`:...

    NC-Verilog仿真详解.pdf

    《NC-Verilog仿真详解》 NC-Verilog是一款由Cadence公司提供的Verilog硬件描述语言模拟器,专为IC设计者验证和模拟Verilog设计的IC功能而设计。它支持用户通过Verilog语言语法来描述电路设计。本文将深入探讨NC-...

    Linux编程命令详解

    本资料包"Linux编程命令详解"旨在帮助那些希望深入学习Linux编程的朋友们提供详实的指导。 首先,我们关注的是"Linux编程命令详解.pdf",这可能是本书的核心内容,它可能涵盖了从基础到高级的Linux命令使用。这份...

    ncverilog 仿真详解.docx

    ncverilog 仿真详解 ncverilog 是 Cadence 公司开发的一款 Verilog 硬体描述语言模拟器(simulator),主要用于验证和模拟数字 IC 的功能。ncverilog 可以帮助 IC 设计者验证和模拟所设计的 IC 功能,并且支持 ...

    Linux命令详解手册.zip

    "Linux命令详解手册"提供了全面的命令指南,帮助用户理解和运用各种命令来高效地操作Linux系统。下面将详细阐述Linux命令的主要类别及其重要用途。 1. 文件和目录管理: - `ls`:列出目录内容,常用于查看当前目录...

    CATIA_V5R19机械设计命令详解.pdf

    CATIA大量用于航空航天、汽车及摩托车行业、机械、电子、家电与3C产业、NC加工等各方面 由于其功能强大而完美,CATIA已经几乎成为三维CAD/CAM领域的一面旗帜和争相遵从的标准,特别是在航空航天、汽车及摩托车领域...

    nc文件转txt

    【标题】:NC文件转TXT详解 在处理气象、海洋、气候等科学数据时,我们经常遇到NC(NetCDF)文件格式。这种文件格式是一种自我描述的、机器无关的、可扩展的数据存储格式,用于存储多维数组。然而,有时我们需要将...

    linux编程命令详解

    在Linux操作系统中,编程是一项基础且...阅读《Linux编程命令详解》这样的资料,将有助于深入理解这些命令的用法和应用场景。同时,实践是检验知识的最好方式,多在终端中尝试这些命令,将有助于巩固记忆并提升技能。

    Unxi命令详解

    这个"Unxi命令详解"文档显然是针对Unix命令的详细指南,尽管标题中存在拼写错误(应为"Unix"而非"Unxi"),但我们可以从中学习到许多关键的Unix命令和使用技巧。 1. **目录结构与导航**:Unix系统采用层次化的目录...

    Linux下安装NC无法显示中文

    三、解决方案详解 1. 字库路径问题 在 Linux 环境下,字库的存放路径和名字各不相同。因此,JVM 无法找到 Linux 操作系统内带的字库。解决该问题需要将字库拷贝到正确的路径下,以便 JVM 能找到。 2. JVM 字库...

    NC-Verilog仿真详解[参考].pdf

    NC-Verilog仿真详解 NC-Verilog是一种基于Verilog的硬体描述语言模拟器,主要用于验证和模拟IC设计的功能。下面是NC-Verilog仿真详解的知识点: 1. NC-Verilog的基本概念 NC-Verilog是一种基于Verilog的硬体描述...

    NC-was集群部署

    ### NC-WAS 集群部署详解 #### 一、NC-WAS 集群部署概述 NC-WAS集群部署是指用友NC系统与IBM WebSphere Application Server (简称WAS)集群结合的一种部署方式。这种部署模式充分利用了WAS集群的优势,能够实现负载...

    NC连接实验步骤(win2003).pdf

    NC命令`nc -l -p999 -vv -e cmd.exe`将使NC在本地的999端口进入监听模式,等待远程主机的连接。这里的`-l`表示监听,`-p999`指定端口号,`-vv`表示详细输出,`-e cmd.exe`则指定了在连接成功后执行的命令,即打开...

Global site tag (gtag.js) - Google Analytics