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地址填写异常的代码段即可。

相关推荐
一叶龙洲2 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker4 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience5 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
元Y亨H5 小时前
生产环境监控与故障应急处理(5-5-5 标准)指南
运维
踏月的造梦星球5 小时前
达梦数据库执行计划与性能分析入门:EXPLAIN、AUTOTRACE 与 ET
服务器·数据库·oracle
观山岳五楼6 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
星夜夏空996 小时前
网络编程(1)
服务器·网络
川石课堂软件测试6 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
寒晓星7 小时前
[linux]线程及多线程
linux·运维
慧一居士7 小时前
Linux如何设置固定的静态ip
运维