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:378][D]content:<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地址填写异常的代码段即可。

相关推荐
baidu_375528811 分钟前
光感传感器 芯片stk3171 linux驱动程序
linux·运维·服务器
飞腾开发者10 分钟前
飞腾平台Arm NN软件栈安装使用指南
linux·运维·人工智能·机器学习·计算机视觉
鸠摩智首席音效师25 分钟前
.NET Core 应用程序如何在 Linux 中创建 Systemd 服务 ?
linux·运维·.netcore
汤米粥1 小时前
通过PHP创建AWS的CloudFront并绑定证书添加备用域名
服务器·云计算·aws
Aiden_SHU1 小时前
Wireshark中的length栏位
服务器·网络·wireshark
清风fu杨柳1 小时前
麒麟服务器工作站SP1 arm环境qt5.6.3源码编译
服务器·arm开发·qt
叫我龙翔2 小时前
【计网】实现reactor反应堆模型 --- 多线程方案优化 ,OTOL方案
linux·运维·网络
mit6.8242 小时前
[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题
linux·运维·docker·容器·架构
Z1eaf_complete2 小时前
Docker的基础使用
运维·docker·容器·云计算
群联云防护小杜2 小时前
服务器被挂马怎么办?——解决服务器被挂马的方法和步骤
运维·服务器·网络协议·tcp/ip·安全·ddos