阅读模式:

nc命令模拟发送get和post请求

查看:4274  回复:0  类型:  来源:php自学网  标签 linux centos

        ncat 作为一款强大的网络工具,网络工具箱里的“瑞士军刀“。在开发及网络运维中可以发挥很大作用。这里使用 ncat 进行 HTTP  get post模拟请求。ncat 作为基于 Socket 传输层 的工具,如何对于应用层协议的访问进行调试,如开发的时候请求头不符合规范问题。

一、ncat的安装

yum -y install nc
nc -h

-4 使用IPV4
-6 使用IPV6
-c, --sh-exec <command> 接收到的命令通过command(例如/bin/bash)执行
-e, --exec <command> 和-c差不多
--lua-exec <filename> 接收到的数据通过脚本filename执行
-m, --max-conns <n> 最大并发连接数(单独开启不生效,需配合--keep-open/--broker使用)
-d, --delay <time> 读写收发间隔时间
-o, --output <filename> 将会话数据转储到文件
-i, --idle-timeout <time> 读写超时时间
-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 <time> 连接超时时间
--allow 允许指定主机连接
--allowfile 允许指定文件内的主机连接
--deny 拒绝指定主机连接
--denyfile 拒绝指定文件内的主机连接
--broker 启用代理模式
--proxy <addr[:port]> 指定代理主机ip和port
--proxy-type <type> 指定代理类型("http" or "socks4")
--proxy-auth <auth> 代理身份验证

二、nc发送get请求

    get请求头文件header.txt

GET / HTTP/1.0
Host: baidu.com
nc baidu.com 80 < header.txt

nc get请求.png

三、nc发送post请求

    post请求头文件header.txt,参数site=zixuephp.net test=test

POST / HTTP/1.0
Host: baidu.com
Content-Type: application/x-www-form-urlencoded;charset=utf-8
Content-Length: 27

site=zixuephp.net&test=test
nc baidu.com 80 < header.txt

四、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

nc聊天室.png

内网的其他机器更换客户端ip为服务端ip.

nc -v SERVER_IP 8080
分享到:
0 0

发布评论:


登录:
  表情:
提交