那谁的技术博客

感兴趣领域:高性能服务器编程,存储,算法,Linux内核
随笔 - 210, 文章 - 0, 评论 - 1183, 引用 - 0
数据加载中……

linux下面nc的使用

nc是一个强大的网络工具,可以帮助你诊断,发现在linux下面使用网络时的一些问题.类似这样的工具有telnet,nmap,telnet的功能比较弱,nmap我没有具体的使用过,以后有机会使用nmap的时候再写一篇笔记吧.

nc可以提供如下的网络功能:
1) 监听特定端口,这时候nc就可以作为一个服务器,但是我发现这样使用nc生成的服务器仅仅是一个echo服务器而已,没有其他更加强大的功能.
2) 连接特定端口,这时候nc就成为了一个客户端,同样的,也是一个简单的客户端,只能起echo的作用.
3) 扫描端口,这可以作为查询某个机器上是否开启了某个端口.

具体nc的使用可以man nc查看,这里仅就上面的几个功能进行说明.
1)使用-l参数监听端口,我的理解是listen的缩写,因此在指定-l参数和一个端口号的时候,nc开始监听这个端口的连接.

2)使用ip地址(或者URL)以及服务器端口号变成一个客户端连接特定的服务器,如 nc 127.0.0.1 80就是连接本地localhost的80端口,在连接成功之后后面的输入就可以作为这个客户端向服务器发出的请求数据,可以是http请求等等.通常情况下,为了免去重复输入的麻烦,可以把输入写在一个文件里面,然后通过shell中重定向的功能向服务器发送请求,比如,假设http.txt文件中是已经写好的http请求, 可以采用命令 cat http.txt | nc 127.0.0.1 80发送这个请求.

3)使用-z参数扫描端口,后面紧跟的是ip地址(或者URL),以及一个端口号的范围,比如nc -z 127.0.0.1 20-40命令扫描localhost的20到40端口是否开启.

其它的使用,nc不仅可以建立TCP连接,还可以建立IPV6协议的连接(-6参数),或者IPV4协议(-4参数),或者UDP(-u参数).


posted on 2008-07-20 16:53 那谁 阅读(1640) 评论(0)  编辑 收藏 引用 所属分类: Linux/Unix


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理