curl-发送请求 和 tcpdump与wireshark的介绍

文章目录

  • 1.客户端模拟请求工具
    • [1.1. curl-终端/命令行请求工具常见用法](#1.1. curl-终端/命令行请求工具常见用法)
    • [1.2. curl重要参数](#1.2. curl重要参数)
    • [1.3. curl其他常用参数](#1.3. curl其他常用参数)
  • [2. tcpdump + wireshark](#2. tcpdump + wireshark)
    • [2.1 tcpdump参数说明](#2.1 tcpdump参数说明)
    • [2.2 wireshark](#2.2 wireshark)
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1.客户端模拟请求工具

nc:tcp/udp 协议发送

curl:最常使用的 http 请求工具

postman:综合性的 http 协议测试工具

代理工具、IDE 工具、浏览器插件工具

1.1. curl-终端/命令行请求工具常见用法

前提:url=http://www.baidu.com

curl请求方式工具:默认发送get请求

get请求 curl $url

bash 复制代码
# 1.使用参数方式$url
curl $url
# 2.直接访问
curl http://www.baidu.com

post请求 curl -d 'xxx' $url

-d 表示发送 POST 数据

bash 复制代码
curl -d 'wd=hello+world' http://www.baidu.com
curl -d 'name=qwen&age=1' https://httpbin.org/post

proxy使用 curl -x 'http://127.0.0.1:8080' $url

-x 指定 HTTP 代理地址。

bash 复制代码
# url-ip可以使用$url替换
curl -x 'http://127.0.0.1:8080' http://www.baidu.com

1.2. curl重要参数

-H "Content-Type: application/json" 消息头设置

-u username:password 用户认证

-d 要发送的post数据 @file 表示来自于文件

--data-urlencode 'page_size=50' 对内容进行url编码

-G 把data数据当成get请求的参数发送,长与--data-urlencode结合使用

-o 写文件

-x 代理 http代理 socks5代理

-v verbose 打印更详细日志 -s 关闭一些提示输出

1.3. curl其他常用参数

curl -o filename url 保存响应内容

curl -i url 显示头信息

curl -I url 仅显示头信息

curl -s url 静默访问不输出错误和进度

curl -v url 输出通信过程

curl -H headers url 添加头信息

curl -x "ip:port" url 为请求添加代理

2. tcpdump + wireshark

抓取网络层的tcp请求包的工具

tcpdump :是一个 命令行网络抓包(packet capture)和分析工具,广泛用于 Linux、macOS、BSD 等类 Unix 系统中。它能够实时捕获网络接口上的数据包,并支持过滤、显示、保存等功能,是网络故障排查、安全审计、协议分析等场景的核心工具之一。

网络监听:TcpDump + WireShark,两者配合使用

2.1 tcpdump参数说明

参数:

-x 十六进制展示格式显示数据包内容

bash 复制代码
# -c 2 表示只抓 2 个包后退出,避免无限抓包
# 输出中会包含每包的十六进制 dump(从 IP 层开始)
tcpdump -x -c 2

-w file 将抓包结果保存到文件

bash 复制代码
# 抓取 10 个包并保存为 capture.pcap
tcpdump -w capture.pcap -c 10

表达式:

tcpdump 协议

ip -只抓 IPv4 协议包

bash 复制代码
# 只抓 IPv4 协议包
tcpdump ip
# 只抓tcp协议包
tcpdump tcp

host 主机名:抓与某主机通信的所有包

bash 复制代码
tcpdump [主机名]
# 抓取 域名
tcpdump host www.baidu.com
# 抓取 IP
tcpdump host 14.215.177.38

port 80 :抓指定端口的流量

bash 复制代码
tcpdump port [端口]
# 抓指定端口的流量
tcpdump port 80

src 来源 dst 目的

bash 复制代码
# 只抓来自某 IP 的包
tcpdump src 192.168.1.100

# 只抓发往某 IP 的包
tcpdump dst 14.215.177.38

# 结合端口:只抓发往 80 端口的包
tcpdump dst port 80

and or () 逻辑表达式

bash 复制代码
# 抓与百度通信的 HTTP 流量(TCP + port 80 + host)
tcpdump 'host www.baidu.com and tcp and port 80'

2.2 wireshark

Wireshark 是常用的网络抓包与协议分析工具

Wireshark 是图形化网络协议分析器-GUI 工具

下载地址:https://www.wiresharkcn.com/download/windows/

1.wireshark可以自动识别出电脑上面的网卡(包括虚拟网卡),双击需要抓包的网卡。

  1. 双击进入此界面后,Wireshark已经自动开始了抓包过程,如果网卡在与其他网络设备通讯,就能看到各种网络协议报文.
  1. Wireshark抓取的是网卡物理层的数据,所有通过该网卡收发的数据都会被Wireshark抓取 ,为了找到需要的报文,可以在过滤器进行过滤。
  1. 抓取访问网页的数据包-需要管理员权限

tcpdump:

bash 复制代码
# 抓取百度包,写入文件tcpdump.log
sudo tcpdump host www.baidu.com -w /tmp/tcpdump.log

curl发送请求:

bash 复制代码
# 向百度发送请求
curl http://www.baidu.com

停止tcpdump

使用wireshark打开/tmp/tcpdump.log


总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
霍格沃兹测试学院-小舟畅学16 小时前
Playwright企业级测试架构设计:模块化与可扩展性
人工智能·测试工具
不爱写程序的东方不败19 小时前
APP接口测试流程实战Posman+Fiddler
前端·测试工具·fiddler
小王不爱笑13219 小时前
Postman 使用教程
测试工具·lua·postman
程序员杰哥19 小时前
Chrome浏览器+Postman做接口测试
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
卓码软件测评1 天前
软件系统负载压力测试【LoadRunner对Windows和Linux服务器的性能监控的配置】
测试工具·测试用例
Wpa.wk2 天前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
橘颂TA2 天前
【测试】自动化测试函数介绍——web 测试
python·功能测试·selenium·测试工具·dubbo
Wpa.wk2 天前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
写点什么呢2 天前
Ltspice_安装与使用
学习·测试工具