HTTP连接之出现400 Bad Request分析

1、400简介

400是一种HTTP状态码,告诉客户端它发送了一条异常请求。400页面是当用户在打开网页时,返回给用户界面带有400提示符的页面。其含义是你访问的页面域名不存在或者请求错误。主要分为两种。

1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。

2、请求参数有误。

400的主要有两种形式:

1、bad request意思是"错误的请求";

2、invalid hostname意思是"不存在的域名"。

2、log

2023/8/7 15:15:10:378Dcontent:<html>

2023/8/7 15:15:10:378<head><title>400 Bad Request</title></head>

2023/8/7 15:15:10:378<body bgcolor="white">

2023/8/7 15:15:10:378<center><h1>400 Bad Request</h1></center>

2023/8/7 15:15:10:378<hr><center>nginx</center>

2023/8/7 15:15:10:378</body>

2023/8/7 15:15:10:378</html>

3、wireshark 数据包分析

从上面数据可以看出mbedtls的流程已经完成,到了Application Data数据帧来,然后服务器主动断开了连接。可以推断该问题大概率会device端数据的异常导致的(语义有误,当前请求无法被****服务器****理解)。

4、调试

(1) 异常数据

(2) 正常数据

接下来重点就看程序读取MAC地址填写异常的代码段即可。

相关推荐
IT利刃出鞘29 分钟前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
Lsetea36 分钟前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
Julien20041 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
十碗饭吃不饱2 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络
好用斋2 小时前
拾光坞安装网盘聚合LitePan:把Docker命令翻译成图形界面
运维·docker·容器
贝锐3 小时前
金仓、达梦、TDSQL全适配:向日葵补齐信创数据库层远程运维能力
运维·数据库·信创
AOI小白新手上路6 小时前
深度学习算力购置方案分析:本地 RTX 4090 服务器 vs 云端租赁
服务器·人工智能·深度学习
千桐科技6 小时前
qKnow智能体构建平台专业版 v3.1.5 发布:扩容工作流编排调用能力,上线Text2SQL插件,拓宽数据类智能应用构建边界
服务器·数据库·oracle·qknow
雪落漂泊6 小时前
Linux进程(四)概念:命令行参数和环境变量篇
linux·运维·服务器
方便面不加香菜6 小时前
Docker Container -- 容器命令详解
运维·docker·容器