Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10454265
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:37:49

nc是一个强大的网络工具,可以帮助你诊断,发现在linux下面使用网络时的一些问题.如:telnet,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参数).

阅读(1469) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~