标签: http

通过 Wireshark 解析 HTTP 请求?

有没有办法解析wireshark中的HTTP请求数据?例如,我可以在 HTTP GET 请求(由我的机器发送)时公开请求参数,以便我不需要阅读(有时)截断的 URL 并自己找到它们?

我在 Firefox 上使用 Tamper Data 和 Firebug 来分析这些请求,但它们不如用于监视我的网络接口的独立工具可靠,但wireshark 保留了关于 HTTP 流的原始数据。

如果你们知道任何其他独立工具可以做到这一点(必须与 Linux 兼容),请告诉我。

谢谢!

http wireshark request querystring

5
推荐指数
1
解决办法
5901
查看次数

Apache 中的神秘 GET 请求

我在我的开发服务器上收到了一些来自未知 IP 的奇怪 GET 请求。我不知道这是一些奇怪的字符编码还是完全其他的东西。神秘的是,我的服务器以状态 200 响应,因此输入匹配某些内容,但我不知道是什么。

请求是 ":\xcc\x89\xa9L\xcf\xc3\xb6\xc1\x8f\xa9\xe7\xc0\xec\x16"

想法?

编辑:更正了请求,它不是 GET 请求,但仍返回根索引页面。

EDIT2:刚刚出现一个新的:
xxx.xxx.xxx.xxx - - [20/Oct/2010:09:10:33 +0300] ";\x8e\xb0!\xa2\xa7\xe7\x11\xf1HX\xb6\x188|z\x9b\xac;z\x10\xafn\xd8*fD\x9d\xc1\x11I\x9a5\xe6\xcbu,\x8c\xd7\x84O[\xf7\xca\xe67\xe5\xba\x94\xdd.\xc0d\xd0} " 200 2085 "-" "-"
不,绝对不再是unicode了......

http apache-2.2

5
推荐指数
1
解决办法
456
查看次数

HTTP 响应时间分析

我有一个 nginx 反向代理。服务器接近每秒处理 600-700 个请求。我有一个 Munin HTTP 加载时间插件,它正在输出:

http://monitor.wingify.com/munin/visualwebsiteoptimizer.com/lb1.visualwebsiteoptimizer.com-http_loadtime.html

现在,问题是我在图表中看到了一些尖峰。预期响应时间应始终低于 200 毫秒。我一直在关注系统日志和消息,但我无法找出造成这种情况的实际原因。我想知道是否有任何好的 HTTP 响应时间分析系统,我可以安装/嵌入此 nginx 服务器并获取有关不同事物所花费的时间的详细报告/日志以及峰值的确切原因。

分析系统还可以帮助我了解瓶颈以及如何进一步优化延迟。

现在最重要的是调查 HTTP 加载时间图中峰值的原因(外部监视器报告了类似的模式 - Pingdom)并修复它以获得一致的响应时间

谢谢

http munin nginx response-time

5
推荐指数
1
解决办法
5722
查看次数

存在哪些出站 HTTP 限制解决方案?

我正在寻找一种以尊重站点策略的方式灵活管理出站 HTTP/HTTPS 流量的方法,并且可以部署在我们数据中心网络的“边缘”。

例如,我们使用了几个具有限制率的 Web API,例如“每秒不超过 4 个请求”或“每天最多 50K 个请求”等。我们公司有很多人使用这样的各种服务,所以我不能集中管理软件中的所有请求。人们以不同的时间表和不同的强度运行这些东西。我们对此很好(它满足内部需求),但我们意识到 - 总的来说 - 我们可能会遇到产生如此多并发流量的情况,我们会被网站阻止。(虽然是无意的)

我所期待/希望的是,我们可以利用网络硬件世界中已经存在的带宽管理/流量整形解决方案,然后我们可以在数据中心网络的边缘部署这样的东西。

理想情况下,我可以编写 L4 或 L7 路由规则,以确保我们的数据中心生成不超过 - 例如 - 4 req/sec 出站。理想情况下,其余的请求将由硬件排队一段合理的时间,而队列容量过剩则被简单地拒绝。我意识到没有免费的午餐,节流不会解决基本的内在需求(请求)与供应(站点策略)问题。但是,节流将允许我们在某个窗口(例如一天)内“平滑”请求,以便我们可以以适当限制的方式利用外部服务,同时最大限度地利用。

有谁知道这样的网络级带宽管理解决方案?如果是这样,它是否还支持不仅基于 HTTP 请求中的 URL 之类的规则,而且还支持一些额外的 HTTP 标头?

bandwidth http traffic-shaping throttling

5
推荐指数
1
解决办法
615
查看次数

在 Varnish 前使用 Cherokee 而不是 nginx 来获得 HTTP 1.1 优化?

我们一直在运行 nginx -> uWSGI,现在我们正在评估将 Varnish 作为 nginx 和 uWSGI 之间的缓存层(类似于 http://www.heroku.com/how/architecture)。

但是,nginx 只支持背面的 HTTP 1.0,因此它必须为每个请求创建与 Varnish 的新连接。

许多人建议在 Varnish 之前运行 nginx,但是使用像 Cherokee 这样的东西来消除 HTTP 连接开销不是更有意义,因为它在后面支持 HTTP 1.1?

http nginx cache varnish cherokee

5
推荐指数
1
解决办法
1035
查看次数

是否存在通过 http 公开 NTLM 身份验证的安全问题,还是应该仅使用 https?

我们正在建立一个 SharePoint 2010 网站。别担心,这不是 Sharepoint 问题,只是将其添加为上下文。大多数站点将是匿名的,但一些用户能够进行身份验证和编辑内容。他们使用 NTLM(用户存在于 AD)。对于可以通过 http 在 Internet 上修改内容的用户公开 NTLM 登录,还是应该仅通过 https 公开,是否存在任何问题?

security http active-directory https

5
推荐指数
2
解决办法
7281
查看次数

减少 Apache 请求排队

在 New Relic 中,它们作为应用程序响应时间的一部分显示的指标之一是“请求队列”。:

要收集请求排队时间,您需要在排队开始时为 HTTP 请求标记时间戳。[1]

这是通过在 Apache httpd.conf 中添加一个 HTTP 标头来完成的:

RequestHeader set X-Request-Start "%t"
Run Code Online (Sandbox Code Playgroud)

New Relic 提到:

对于请求队列桶,站点运营商可以提供更多的应用实例。

然而,我们已经看到添加新的应用程序实例(即 web 节点)不会影响请求排队时间 - 它保持不变。我们看到这大约是 250 毫秒。

哪些因素会影响请求队列长度,如何减少?

[1] http://support.newrelic.com/help/kb/features/tracking-front-end-time

http apache-2.2

5
推荐指数
1
解决办法
9784
查看次数

我们应该多久期望 400 个错误请求?

我们运行一个 Apache2 Web 服务器,它每天提供大约 2-3 百万个页面(Lighttpd 仅提供 HTML+CSS+Javascript、图像和其他内容)。我们的每日logwatch电子邮件每天输出 3-5 个“400 个错误请求”项目。它主要是每天针对相同的 URL,但每个 URL 很少超过 1 次。列出的 URL 主要用于我们网站上的标准页面浏览(几乎每个用户都会访问的 URL)。

当 grep 中error.log列出的 IPaccess.log收到错误时,结果总是[error] [client xxx.xxx.xxx.xxx] request failed: error reading the headers, referer: xxx

我的假设是这些没有什么可担心的,至少当它们很少出现时。

我们在这里看到的错误数量是由断开的连接产生的还是类似的?我应该检查什么才能弄清楚?我应该让它一个人呆着吗?

http 400 bad-request apache-2.2

5
推荐指数
2
解决办法
1938
查看次数

使用子域将 HTTP 请求代理到不同端口上的服务器

假设我有一个运行多个实例的极简 Python Web 服务器,每个实例都有指定为命令行参数的不同端口。

我希望使用 Host 标头像这样重定向对我的服务器的请求:

name1.mydomain.com -> localhost:8000
name2.mydomain.com -> localhost:8001
name3.mydomain.com -> localhost:8002
Run Code Online (Sandbox Code Playgroud)

这是最好用像 Lighttpd 这样的服务器并做一些虚拟主机配置来完成的 - 这可能吗?

我不想使用像 Apache 这样重量级的东西。

谢谢!

http web-hosting web-server subdomain

5
推荐指数
1
解决办法
2964
查看次数

access.log中的奇怪请求,如何阻止?

我在自己的服务器上使用 nginx,几天前我注意到我的 access.log 中有一些奇怪的请求:

77.50.217.37 - - [19/Aug/2011:17:50:50 +0200] "GET http://images.google.com/ HTTP/1.1" 200 151 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; .NET CLR 1.1.4322; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)"
174.142.123.42 - - [19/Aug/2011:17:51:59 +0200] "GET http://l08.member.ird.yahoo.com/?.src=ym&login=_420_club_chick_&passwd=112211 HTTP/1.0" 200 151 "-" "MobileRunner-J2ME"
65.52.227.217 - - [19/Aug/2011:17:52:30 +0200] "GET http://javaddiction.biz/index.php HTTP/1.1" 404 570 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
188.72.199.25 - - [19/Aug/2011:17:52:35 +0200] "CONNECT google.com:80 HTTP/1.1" 400 172 "-" "-" …
Run Code Online (Sandbox Code Playgroud)

linux http nginx web-crawler

5
推荐指数
1
解决办法
3390
查看次数