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 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
我是一颗柠檬16 天前
【计算机网络全面教学】网络设备与故障排查,从集线器到Wireshark抓包实战Day7(2026年)
网络·计算机网络·wireshark
LT101579744416 天前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化
程序员三藏16 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
专业机床数据采集17 天前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔17 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH17 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试17 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos