当前位置: 首页 > 文档资料 > 网络基本功系列 >

Wireshark 抓包实例分析 HTTP 问题(下)

优质
小牛编辑
126浏览
2023-12-01

介绍

本文承接上文。

更多信息

Client errors:

CodeStatusExplanationWhat to do
400Bad requestThe request could not be understood by the server due to a syntax problem. The request should be modified by the client before resending to it.Check the website address. This can also happen due to a site error.
401Authorization requiredThe client is denied access due to the lack of authentication codes.Check your username and password.
402Payment requiredReserved for future use.
403ForbiddenThe client is not allowed to see a specific file. This can be due to the server access limit.Check the credentials. Also, there are fewer chances that the server is loaded.
404Not foundThe requested resource could not be found.This can be because the resource was deleted, or it never existed before. It can also be due to URL misspellings.
405Method not allowedThe method you are using to access the file is not supported or not allowed by the resource.
406Not acceptableContent generated by the resource is not acceptable according to the client request.Check/update your browser.
407Proxy authentication requiredRequest authentication is required before it can be performed.The client must first authenticate itself with the proxy.
408Request timed outIt took the server longer than the allowed time to process the request.Check response time and load on the network.
409ConflictThe request submitted by the client cannot be completed because it conflicts with some established rules.Can be because you try to upload a file that is older that the existing one or similar problems. Check what the client is trying to do.
410GoneThe URL requested by the client is no longer available from that system.Usually this is a server problem. It can be due to a file that was deleted or location was forwarded to a new location.
411Content length requiredThe request is missing itsContent-Length header.Compatibility issue on a website. Change/update your browser.
412Precondition failedThe client has not set up a configuration that is required for the file to be delivered.Compatibility issue on a website. Change/update your browser.
413Request entity too longThe requested file was too big to process.Server limitation.
414Request URI too longThe address you entered was overly long for the server.Server limitation.
415Unsupported media typeThe file type of the request is not supported.Server limitation.

以下示例是一个简单的客户端报错。按照以下步骤进行操作:

  • 右键有报错的报文。
  • 选择Follow TCP stream,会看到以下窗口:

CodeStatusExplanationWhat to do
500Internal server errorThe web server encountered an unexpected condition that prevented it from carrying out the client request for access to the requested URL.Response that is usually caused by a problem in your Perl code when a CGI program is run.
501Not implementedThe request cannot be executed by the server.A server problem.
502Bad gatewayThe server you're trying to reach is sending back errors.A server problem.
503Service unavailableThe service or file that is being requested is not currently available.A server problem.
504Gateway timeoutThe gateway has timed out. This message is like the 408 timeout error, but this one occurs at the gateway of the server.Server is down or nonresponsive.
505HTTP version not supportedThe HTTP protocol version that you want to use for communicating with the server is not supported by it.Server does not support the HTTP version.

服务器不可用(错误代码503)可能有多种原因。以下示例是一个小办公室碰到的问题:员工能够访问Facebook,但当他们点击站点上的链接,则显示页面被拦截。以下截屏中,可看出页面被防火墙拦截:

工作原理:

标准的HTTP浏览模式如下:

  • TCP打开连接(三路握手信号)
  • HTTP发送GET命令
  • 数据下载到浏览器
    在一个网页打开多个连接的情况下(大多数网页都是如此)。每个连接需要一个DNS 查询,响应,TCP SYN-SYN/ACK-ACK,以及HTTP GET。之后数据才会出现在显示屏上。

当你在packet detail面板没有看到显示内容时,右键报文并选择Follow TCP stream,会看到连接的细节数据。另一个广泛应用的工具是Fiddler,Fiddler是HTTP故障排查的免费工具。