一、nc命令
1.nc概述
nc命令由nc包提供,用于tcp、udp连接监听强大工具,传输读写工具、网络分析
2.语法格式
nc [-46DdhklnrStUuvzC] [-i interval] [-psource_port] [-s source_ip_address] [-T ToS][-w timeout] [-X proxy_protocol] [-x proxy_address[:port]][hostname] [port[s]]
参数:
-4 |
强制nc仅在ipv4下使用 |
-6 |
强制nc仅在ipv6下使用 |
-D |
能够基于套接字调试排除故障 |
-d |
不接收从标准输入读取数据 |
-g<网关> |
设置路由器跃程通信网关,最丢哦可设置8个 |
-G<指向器数目> |
设置来源路由指向器,其数值为4的倍数 |
-h |
帮助 |
-i<延迟秒数> |
设置时间间隔,以便传送信息及扫描通信端口 |
-l |
使用监听模式,管控传入的资料 |
-n |
直接使用IP地址,而不通过域名服务器 |
-o<输出文件> |
指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存 |
-p<通信端口> |
设置本地主机使用的通信端口 |
-r |
乱数指定本地与远端主机的通信端口 |
-s<来源位址> |
设置本地主机送出数据包的IP地址 |
-u |
使用UDP传输协议 |
-v |
详细输出--用两个-v可得到更详细的内容 |
-w<超时秒数> |
设置等待连线的时间 |
-z |
使用0输入/输出模式,只在扫描通信端口时使用 |
二、基本功能实现示例
1.端口扫描
[root@localhost ~]# nc -v -w 2172.16.49.101 -z 21-24 #每隔两秒扫描指定主机21到24号端口显示详细信息
nc: connect to172.16.49.101 port 21 (tcp) failed: Connection refused
Connection to172.16.49.101 22 port [tcp/ssh] succeeded!
nc: connect to172.16.49.101 port 23 (tcp) failed: Connection refused
nc: connect to172.16.49.101 port 24 (tcp) failed: Connection refused
2.主机间复制文件
从172.16.49.101拷贝文件到172.16.49.102
在172.16.49.102上:[root@localhost~]#nc -l 1234 > test.txt
在172.16.49.101上:[root@localhost ~]#nc 17.16.49.102< test.txt
3.聊天工具
在172.16.49.101上:[root@localhost ~]# nc -l 1234
在172.16.49.102上:[root@localhost ~]# nc 172.16.49.101 1234
此时即可在不同主机间建立联系,进行数据传输
4.模拟HTTP Headers,获取网页源代码和返回头部信息
[root@localhost ~]# nc www.XXXXX.com 80
GET/ HTTP/1.1
Host:ispconfig.org
Referrer:mypage.com
User-Agent:my-browser
HTTP/1.1200 OK
Date:Tue, 16 Dec 2008 07:23:24 GMT
Server:Apache/2.2.6 (Unix) DAV/2 mod_mono/1.2.1 mod_python/3.2.8 Python/2.4.3mod_perl/2.0.2 Perl/v5.8.8
Set-Cookie:PHPSESSID=bbadorbvie1gn037iih6lrdg50; path=/
Expires:0
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma:no-cache
Cache-Control:private, post-check=0, pre-check=0, max-age=0
Set-Cookie:oWn_sid=xRutAY; expires=Tue, 23-Dec-2008 07:23:24 GMT; path=/
Vary:Accept-Encoding
Transfer-Encoding:chunked
Content-Type:text/html
[......]
在nc命令后,输入内容,然后按两次回车,即可从对方获得HTTPHeaders内容。
5.传输目录
此功能瑶瑶结合管道和tar命令使用
6.用nc命令操作memcached
(1)存储数据:printf “set key 0 10 6rnresultrn” |nc 192.168.2.34 11211
(2)获取数据:printf “get keyrn” |nc192.168.2.34 11211
(3)删除数据:printf “delete keyrn” |nc 192.168.2.34 11211
(4)查看状态:printf “statsrn” |nc192.168.2.34 11211
(5)模拟top命令查看状态:watch “echostats” |nc 192.168.2.34 11211
(6)清空缓存:printf “flush_allrn” |nc 192.168.2.34 11211
7.保存Web页面
#while true; do nc -l -p 80 -q 1 < somepage.html; done
本文出自 “许鼎的博客” 博客,谢绝转载!