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


总结

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

相关推荐
程序员小远18 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
我的xiaodoujiao1 天前
API 接口自动化测试详细图文教程学习系列2--相关Python基础知识
python·学习·测试工具·pytest
Wpa.wk1 天前
Selenium自动化 - headless无头浏览器配置 + Capability配置
selenium·测试工具·自动化
爱凤的小光1 天前
Wireshark长时间循环抓包操作说明
网络·测试工具·wireshark
半个俗人1 天前
1.postman的基础使用方法
测试工具·postman
汽车仪器仪表相关领域1 天前
全工况精准标定 + 智能安全防护,建筑机械防坠生命线:GZCVL T‑II 安全防坠器测试系统实战全解
功能测试·测试工具·安全·单元测试·汽车·压力测试·可用性测试
Smoothcloud润云1 天前
告别 Selenium:Playwright 现代 Web 自动化测试从入门到实战
前端·人工智能·selenium·测试工具·架构·自动化
Wpa.wk2 天前
Git日志+分支管理+基础冲突解决
经验分享·git·测试工具