# 网络基本功(二十八):Wireshark抓包实例分析HTTP问题(下)
**转载请在文首保留原文出处:EMC中文支持论坛**[https://community.emc.com/go/chinese](https://community.emc.com/go/chinese) [![image001.gif](https://community.emc.com/servlet/JiveServlet/downloadImage/2-870583-108192/image001.gif)](https://community.emc.com/servlet/JiveServlet/showImage/2-870583-108192/image001.gif)
## 介绍
本文承接上文。
## 更多信息
**Client errors:**
| **Code** | **Status** | **Explanation** | **What to do** |
| --- | --- | --- | --- |
| 400 | Bad request | The 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. |
| 401 | Authorization required | The client is denied access due to the lack of authentication codes. | Check your username and password. |
| 402 | Payment required | Reserved for future use. |
| 403 | Forbidden | The 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. |
| 404 | Not found | The 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. |
| 405 | Method not allowed | The method you are using to access the file is not supported or not allowed by the resource. |
| 406 | Not acceptable | Content generated by the resource is not acceptable according to the client request. | Check/update your browser. |
| 407 | Proxy authentication required | Request authentication is required before it can be performed. | The client must first authenticate itself with the proxy. |
| 408 | Request timed out | It took the server longer than the allowed time to process the request. | Check response time and load on the network. |
| 409 | Conflict | The 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. |
| 410 | Gone | The 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. |
| 411 | Content length required | The request is missing itsContent-Length header. | Compatibility issue on a website. Change/update your browser. |
| 412 | Precondition failed | The 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. |
| 413 | Request entity too long | The requested file was too big to process. | Server limitation. |
| 414 | Request URI too long | The address you entered was overly long for the server. | Server limitation. |
| 415 | Unsupported media type | The file type of the request is not supported. | Server limitation. |
以下示例是一个简单的客户端报错。按照以下步骤进行操作:
1. 右键有报错的报文。
2. 选择**Follow TCP stream**,会看到以下窗口:
[![image002.jpg](https://community.emc.com/servlet/JiveServlet/downloadImage/2-870583-108193/670-207/image002.jpg)](https://community.emc.com/servlet/JiveServlet/showImage/2-870583-108193/image002.jpg)
3. 显示以下内容:
* 客户端尝试浏览URI/poker-client/broadcast.htm(如截屏中1和3所示)
* URI通过[http://www.888poker.com/poker-client/promotions.htm转发(截屏中2](http://www.888poker.com/poker-client/promotions.htm转发(截屏中2)所示)
* 状态码为404 Not Found(如截屏中4所示)
**Client errors:**
| **Code** | **Status** | **Explanation** | **What to do** |
| --- | --- | --- | --- |
| 500 | Internal server error | The 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. |
| 501 | Not implemented | The request cannot be executed by the server. | A server problem. |
| 502 | Bad gateway | The server you're trying to reach is sending back errors. | A server problem. |
| 503 | Service unavailable | The service or file that is being requested is not currently available. | A server problem. |
| 504 | Gateway timeout | The 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. |
| 505 | HTTP version not supported | The 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,但当他们点击站点上的链接,则显示页面被拦截。以下截屏中,可看出页面被防火墙拦截:
[![image003.jpg](https://community.emc.com/servlet/JiveServlet/downloadImage/2-870583-108194/670-327/image003.jpg)](https://community.emc.com/servlet/JiveServlet/showImage/2-870583-108194/image003.jpg)
**工作原理:**
标准的HTTP浏览模式如下:
1. TCP打开连接(三路握手信号)
2. HTTP发送GET命令
3. 数据下载到浏览器
在一个网页打开多个连接的情况下(大多数网页都是如此)。每个连接需要一个DNS 查询,响应,TCP SYN-SYN/ACK-ACK,以及HTTP GET。之后数据才会出现在显示屏上。
当你在packet detail面板没有看到显示内容时,右键报文并选择Follow TCP stream,会看到连接的细节数据。另一个广泛应用的工具是Fiddler,Fiddler是HTTP故障排查的免费工具。
## 参考
Network Analysis Using Wireshark Cookbook
- 介绍
- 网络基本功(一):细说网络传输
- 网络基本功(二):细说交换机
- 网络基本功(三):细说VLAN与Trunk
- 网络基本功(四):细说路由(上)
- 网络基本功(五):细说路由(下)
- 网络基本功(六):链路聚合
- 网络基本功(七):细说IP地址与子网
- 网络基本功(八):细说TCP滑动窗口
- 网络基本功(九):细说TCP重传
- 网络基本功(十):细说TCP确认机制
- 网络基本功(十一):TCP窗口调整与流控
- 网络基本功(十二):细说Linux网络配置(上)
- 网络基本功(十三):细说Linux网络配置(下)
- 网络基本功(十四):细说诊断工具ping
- 网络基本功(十五):细说网络性能监测与实例(上)
- 网络基本功(十六):细说网络性能监测与实例(下)
- 网络基本功(十七):细说tcpdump的妙用(上)
- 网络基本功(十八):细说tcpdump的妙用(下)
- 网络基本功(十九):细说NAT原理与配置
- 网络基本功(二十):细说ICMP和ARP
- 网络基本功(二十一):细说HTTP(上)
- 网络基本功(二十二):细说HTTP(下)
- 网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题
- 网络基本功(二十四):Wireshark抓包实例分析TCP重传
- 网络基本功(二十五):Wireshark抓包实例分析TCP重复ACK与乱序
- 网络基本功(二十六):Wireshark抓包实例分析TCP窗口及reset
- 网络基本功(二十七):Wireshark抓包实例分析HTTP问题(上)
- 网络基本功(二十八):Wireshark抓包实例分析HTTP问题(下)
- 网络基本功(二十九):Wireshark抓包实例诊断数据库常见问题
- 网络基本功(三十):细说DNS(上)
- 网络基本功(三十一):细说DHCP