Debugging 是否有方法确定尝试连接到您的";HTTP服务器;?

Debugging 是否有方法确定尝试连接到您的";HTTP服务器;?,debugging,gunicorn,iot,network-protocols,Debugging,Gunicorn,Iot,Network Protocols,我有一个下面的场景:我的客户机只知道,他们有一个允许您列出HTTP地址(或者至少是看起来像HTTP地址的地址)的设备,当他们“按下按钮”时,该设备将向该地址发送请求(基本上他们有一种基于物理操作触发进程的方法) 我已经构建了一个gunicorn服务器来监听他们的请求,但我只收到了[警告]接收到的无效HTTP请求。这说明不了什么,但在做了一些研究之后,当使用了错误的协议时,这个警告似乎经常出现。此外,通过使用curl我无法复制问题,无论我如何尝试使请求格式错误 我想在服务器前面添加一些东西,可以检

我有一个下面的场景:我的客户机只知道,他们有一个允许您列出HTTP地址(或者至少是看起来像HTTP地址的地址)的设备,当他们“按下按钮”时,该设备将向该地址发送请求(基本上他们有一种基于物理操作触发进程的方法)

我已经构建了一个
gunicorn
服务器来监听他们的请求,但我只收到了
[警告]接收到的无效HTTP请求
。这说明不了什么,但在做了一些研究之后,当使用了错误的协议时,这个警告似乎经常出现。此外,通过使用
curl
我无法复制问题,无论我如何尝试使请求格式错误

我想在服务器前面添加一些东西,可以检测接收到的请求是否是HTTP 2.0、1.1、1.0、UDP、WebSocket。。。无论什么我只是想知道他们送我什么。我特别感兴趣的是HTTP版本(尽管curl与1.0和1.1的版本并没有失败)和UDP,因为它们是最可能出现问题的候选版本


是否有一个很好的工具来实现这一点?

根据您的问题,我认为这些可能的解决方案适用于不同的场景

您可以在
gunicorn
中记录您的请求,并在需要时查看它们,这是一种方法

记录请求后,您可以查看请求和响应。通过这种方式,您可以找到格式错误的请求,并在发送请求的设备中进行更正

而且,如果您想在LAN上监视您的请求,您可以添加TCP嗅探器,或者使用Wireshark进行监视。注意:它将只记录HTTP请求,因为默认情况下SSL不适用,您可能需要对此进行配置

如果什么都不起作用,您可以创建一个用于测试的示例服务器,记录您收到的特定路径的完整HTTP请求和响应数据包,并按照您想要的方式编辑它们