Wireshark抓包分析/TCP/Http/Https及代理IP的识别

简介:

前言

 

坦白讲,没想好怎样的开头。辗转三年过去了。一切已经变化了许多,一切似乎从没有改变。

 

前段时间调研了一次代理相关的知识,简单整理一下分享之。如有错误,欢迎指正。

涉及

Proxy IP应用

原理/层级wireshark抓包分析

HTTP head X-Forwarded-For/ Proxy-Connection/伪造  X-Forwarded-For/

以及常见的识别手段等几个方面。 

应用

 

Web 代理(proxy)服务器是网络的中间实体。代理位于客户端和服务器之间,扮演 “中间人”的角色,在各端点之间来回传送 HTTP 报文。本章介绍了所有与 HTTP 代理服务器有关的内容,为代理特性提供的特殊支持,以及使用代理服务器时会遇

到的一些棘手的问题。   -引用自《HTTP权威指南》

 

代理的应用想必大家都很熟悉了,不再过多的描述,简单上图达意。

1:FQ

 

2:ANONYMOUS

 

3:“提升网速”

哈,这个不说大家也明白,以前在学校宿舍里的小伙伴打游戏经常用,各种联通跨电信等等(OK,不发ad~)

  当然这个非普通的HTTP代理可以做到的。

4:xxxx

(前段时间一个词语叫做“不可描述”嗯,大家都懂得撒 :-)

 

 

当然代理还有很多功能,比如:局域网上网管理,好多年前的“绿@坝计划”

 

代理原理

这里要说明的是WEB代理区别于网关:

代理连接的是两个或多个使用相同协议的应用程序,而网关连接的则是 两个或多个使用不同协议的端点。网关扮演的是“协议转换器”的角色,即使客户端和服务器使用的是不同的协议,客户端也可以通过它完成与服务器之间的事务处理。如发邮件时连接HTTP协议与SMTP协议。

 

代理分为两种:普通代理与隧道代理

普通代理:

              -引用自《HTTP权威指南》 

这里的代理既是服务器,又是客户端

 

隧道代理

 

 

                          -引用自《HTTP权威指南》

 

网关允许某客户端使用隧道之前,可以对其进行代理认证

(为了降低对隧道的滥用,网关应该只为特定的知名端口,比如 HTTPS 的端口 443)

 

比较

 

  • 普通代理可以用来承载 HTTP 流量;
  • 隧道代理可以用来承载任何 TCP 流量,包括 HTTP  HTTPS

 

这里分别拿 赶集的登录页面,58的主站页面做简单的测试。

 

 

WireShark出场

捕获HTTP(以58主站为例)

 

捕获TLS(前身是SSL)(以赶集登录为例)

 

 

Follow TCP Steam

可以看出赶集用的是verisign的证书

WireShark很是强大,在各个平台上都有。网上的范例也不少,抓包的好助手之一。

 

1. Frame:   物理层-数据帧
2. Ethernet II: 数据链路层以太网帧头部信息
3. Internet Protocol Version   IP包 头部信息
4. Transmission Control Protocol:  传输层的数据段头部信息,如上图的TCP
5. Hypertext Transfer Protocol:  应用层的信息,如上图中的HTTP协议

既然说到这里,那么就复习一下三次握手吧。

(-。- ~~)

                                      

OK,简单图示回顾一下,  四次挥手这里就不再展开了。

另外 梳理一下

wireshark过滤用法

1:ip.addr/src/dst   用来过滤目标ip及来源ip
2:port
    tcp.port eq 2016 or udp.port eq 2016
    tcp.dstport == 2016    tcp.srcport == 2016
    tcp.port >= 1 and tcp.port <= 2016
3:常用协议支持 
    Tcp udp arp icmp http smtp ftp dns msnms ip ssl oicq bootp
4:过滤MAC

等等,还有很多,具体可以看官方的,很强大的说。

 

 

 

咦,好像跑的偏了,言归正传,继续回到本文的话题继续谈论一下代理IP HTTP Head相关的

层次对比

 

 

REMOTE_ADDR

HTTP_X_FORWARDED_FOR

隐藏身份

识别难度

未使用代理

真实IP

 

透明代理

代理IP

真实IP

匿名代理

代理IP

代理IP

欺诈代理

代理IP

随机IP

高匿名代理

代理IP

 

 

这里简单做的一个表格汇总,显然,高匿的代理IP最具挑战,也是最常用的。

 Http Head

 

  • Http 常见的Head 和识别IP相关的有如下几个,其中只有REMOTE_ADDR 这个字段是可靠的。其余的字段都是可以伪造的。因为建立 TCP 连接需要三次握手,如果伪造了源 IP,无法建立 TCP 连接。
  • 由于只能识别上一层的REMOTE_ADDR 字段,对于多层代理的情况下还是比较麻烦的。如下图:

 

 

  • REMOTE_ADDR

  • X-Forwarded-For

  • X-Real-IP

  • Proxy-Connection

简单讨论一下-Forwarded-For

X-Forwarded-For[16]

de facto standard for identifying the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer

X-Forwarded-For: client1, proxy1, proxy2X-Forwarded-For: 129.78.138.66, 129.78.64.103

 

 

https://en.wikipedia.org/wiki/X-Forwarded-For

https://tools.ietf.org/html/rfc7239

The X-Forwarded-For (XFFHTTP header field was a common method for identifying the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer. As of 2014 RFC 7239 standardized a new Forwarded header with similar purpose but more features compared to XFF.[1] An example of a Forwarded header syntax:

Forwarded: for=192.0.2.60; proto=http; by=203.0.113.43

简单理解就是一个后出来一个非标准但被业内默认常用的一个用来识别proxy的一个http haed

 也就是说 如果在直连的情况下是不会存在这个 参数的

当配置了反向代理  nginx(关于nginx,

网上有很多参考,自己也摘录过一些http://www.cnblogs.com/wenthink/p/nginxsetting.html)

1
2
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

简单伪造 :curl http://wenthink.com/headdemo -H 'X-Forwarded-For: 192.168.8.8' -H 'X-Real-IP: 192.168.8.8'

 

Proxy-Connection

 

Proxy-Connection[23]

Implemented as a misunderstanding of the HTTP specifications. Common because of mistakes in implementations of early HTTP versions. Has exactly the same functionality as standard Connection field.

Proxy-Connection: keep-alive

 

 

 

这个字段同样也是常见的非标准要求字段,简而言之,有了这个字段可以判定为代理IP的可能性极大。

做一个简单的配置代理IP 这里不做展示

再次请出Wireshark

 

 

好吧 mask 有点儿多,其实就是验证下 多了一个Proxy—Connection这个请求头。

 

识别

那么对于代理IP的识别又是怎样的呢?

网上也有很多通用的说法

  • 反向探测扫描IP是不是开通了80,8080等代理服务器经常开通的端口,显然一个普通的用户IP不太可能开通如上的端口。
  • HTTP头部的X_Forwarded_For:开通了HTTP代理的IP可以通过此法来识别是不是代理IP;如果带有XFF信息,该IP是代理IP无疑。
  • Keep-alive报文:如果带有Proxy-ConnectionKeep-alive报文,该IP毫无疑问是代理IP
  • 查看IP上端口:如果一个IP有的端口大于10000,那么该IP大多也存在问题,普通的家庭IP开这么大的端口几乎是不可能的。

常见的方式类型及方式:HTTP TCP UDP  Ping,telnet,nmap ,socket

 

 

这里简单画一个基本的流程图 

 

OK

简单粗浅分析先到这里吧,后期或许继续补充,或许不再就这方面展开。

计划陆续写一些其他的。

参考资料:

《HTTP权威指南》

https://en.wikipedia.org/wiki/List_of_HTTP_header_fields

以及各路网友总结的这方面相关资料。

如果你觉得本文对您有所帮助,请点击一下推荐,感谢您的阅读!!红玫瑰

ps:前两天园子里博客打赏挺的,我试试看看有没有人可以赞助一杯酸奶 ^_^

    

 

 

 

作者: wenthink
出处: http://www.cnblogs.com/wenthink/p/HTTTP_Proxy_TCP_Http_Headers_Check.html
本文版权归【wenthink】和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
目录
相关文章
|
14天前
|
缓存 监控 负载均衡
提升HTTP动态代理IP性能的最佳实践
在现代网络环境中,HTTP动态代理IP的优化配置至关重要。通过选择合适的代理类型(正向/反向代理)、配置缓存、使用负载均衡、加强安全配置(SSL/TLS加密、身份验证)、管理日志、性能监控、限制带宽、定期更新软件和优化用户体验(减少延迟、内容压缩),可以显著提升网络性能、安全性及用户满意度。根据具体需求灵活调整配置,实现最佳效果。
132 64
提升HTTP动态代理IP性能的最佳实践
|
6天前
|
安全 搜索推荐 网络安全
HTTPS与HTTP:区别及安全性对比
HTTP和HTTPS是现代网络通信中的两种重要协议。HTTP为明文传输,简单但不安全;HTTPS基于HTTP并通过SSL/TLS加密,确保数据安全性和完整性,防止劫持和篡改。HTTPS还提供身份验证,保护用户隐私并防止中间人攻击。尽管HTTPS有额外的性能开销和配置成本,但在涉及敏感信息的场景中,如在线支付和用户登录,其安全性优势至关重要。搜索引擎也更青睐HTTPS网站,有助于提升SEO排名。综上,HTTPS已成为大多数网站的必然选择,以保障用户数据安全和合规性。
19 1
|
27天前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
339 7
|
1月前
免费HTTP代理IP对业务稳定性的影响关键因素分析
随着互联网发展,使用代理IP的需求增加。免费代理IP虽便捷,但对业务稳定性有负面影响:1. 网络连接不稳定,易中断;2. 频繁更换IP影响业务连续性;3. 性能差,速度慢、响应延迟高;4. 服务质量低,缺乏技术支持且存在不受控的限制。因此,选择代理服务时需谨慎评估其对业务的影响。
59 13
|
29天前
|
数据采集 安全 搜索推荐
HTTP代理IP纯净度 提升用户网络体验的核心竞争力
随着互联网发展,使用HTTP动态代理IP的需求日益增加。高纯净度的代理IP在隐私与安全、网络体验和业务运营方面至关重要。它能保护用户信息、提高数据安全性、确保访问速度和连接稳定,并提升业务效率与信誉度。
45 2
|
30天前
|
安全 算法 网络安全
HTTP和HTTPS的区别
本文介绍HTTP与HTTPS的区别、HTTPS链接建立过程及常见加密算法。HTTP为明文传输,易被窃听;HTTPS通过SSL/TLS协议加密,确保数据安全。HTTPS使用端口443,提供认证机制。文中还详细讲解了对称加密(如AES、DES)和非对称加密(如RSA、ECC)算法的特点及应用场景。
|
1月前
|
安全 网络协议 网络安全
网络不稳定导致HTTP代理频繁掉线的分析
随着数字化时代的加速发展,网络安全、隐私保护及内容访问自由成为用户核心需求。HTTP代理服务器因其独特技术优势受到青睐,但其掉线问题频发。本文分析了HTTP代理服务器不稳定导致掉线的主要原因,包括网络问题、服务器质量、用户配置错误及IP资源问题等方面。
104 0
|
1月前
|
安全 网络安全 数据安全/隐私保护
第六问:http和https区别与联系
HTTP 和 HTTPS 是现代网络通信中的两种重要协议。HTTP 是明文传输协议,无加密功能;HTTPS 在 HTTP 基础上加入 SSL/TLS 加密层,提供数据加密、身份验证和数据完整性保障。HTTP 适用于非敏感信息传输,如新闻网站;HTTPS 适用于在线支付、账户登录等需要保护用户数据的场景。
49 0
|
4月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
30天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
110 3