ncat 作为一款强大的网络工具,网络工具箱里的“瑞士军刀“。在开发及网络运维中可以发挥很大作用。这里使用 ncat 进行 HTTP get post模拟请求。ncat 作为基于 Socket 传输层 的工具,如何对于应用层协议的访问进行调试,如开发的时候请求头不符合规范问题。
一、ncat的安装yum -y install ncnc -h-4 使用IPV4
-6 使用IPV6
-c, --sh-exec 接收到的命令通过command(例如/bin/bash)执行
-e, --exec 和-c差不多
--lua-exec 接收到的数据通过脚本filename执行
-m, --max-conns 最大并发连接数(单独开启不生效,需配合--keep-open/--broker使用)
-d, --delay 读写收发间隔时间
-o, --output 将会话数据转储到文件
-i, --idle-timeout 读写超时时间
-p, --source-port port 指定连接使用的源端口号(client端使用)
-s, --source addr 客户端指定连接服务器使用的ip(client端使用)
-l, --listen 绑定和监听接入连接(server端使用)
-k, --keep-open 在监听模式中接受多个连接(配合-m使用)
-n, --nodns 不使用DNS解析主机名
-t, --telnet 响应telnet连接
-u, --udp 使用udp协议,默认tcp
-v, --verbose 显示详细信息
-w, --wait 连接超时时间
--allow 允许指定主机连接
--allowfile 允许指定文件内的主机连接
--deny 拒绝指定主机连接
--denyfile 拒绝指定文件内的主机连接
--broker 启用代理模式
--proxy 指定代理主机ip和port
--proxy-type 指定代理类型("http" or "socks4")
--proxy-auth 代理身份验证
二、nc发送get请求
get请求头文件header.txtGET / HTTP/1.0
Host: baidu.comnc baidu.com 80
三、nc发送post请求
post请求头文件header.txt,参数site=zixuephp.net test=testPOST / HTTP/1.0
Host: baidu.com
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Content-Length: 27
site=zixuephp.net&test=testnc baidu.com 80
四、nc搭建简单内网聊天室
本机-本机 , 单台机器开了两个shell窗口,当一个窗口输入消息时,另一个窗口也会同步显示ncat -v -lp 8080#服务端
[root@localhost ~]$ ncat -v -lp 8080
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Listening on :::8080
Ncat: Listening on 0.0.0.0:8080
Ncat: Connection from 127.0.0.1.
Ncat: Connection from 127.0.0.1:45996.
zixuephp.net#客户端
[root@localhost ~]$ nc -v 127.0.0.1 8080
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:8080.
zixuephp.net
内网的其他机器更换客户端ip为服务端ip.nc -v SERVER_IP 8080