国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【全方位解析】如何獲取客戶端/服務(wù)端真實 IP

這篇具有很好參考價值的文章主要介紹了【全方位解析】如何獲取客戶端/服務(wù)端真實 IP。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、應(yīng)用場景

1.比如在投票系統(tǒng)開發(fā)中,為了防止刷票,我們需要限制每個 IP 地址只能投票一次

2.當網(wǎng)站受到諸如 DDoS(Distributed Denial of Service,分布式拒絕服務(wù)攻擊)等攻擊時,我們需要快速定位攻擊者 IP

3.在滲透測試過程中,經(jīng)常會碰到網(wǎng)站有 CDN(Content Distribution Network,內(nèi)容交付網(wǎng)絡(luò)),這時我們需要繞過 CDN 查找真實 IP

二、解決方案

服務(wù)端(CDN)

驗證是否具有 CDN

1、使用超級 Ping 網(wǎng)站,查看對應(yīng) IP 地址是否唯一,如果不唯一多半是使用了 CDN ,諸如:

  • http://ping.chinaz.com/
  • http://ping.aizhan.com/
  • http://ce.cloud.#/

2、使用 nslookup 進行檢測,如果返回域名解析對應(yīng)多個 IP 地址多半是使用了 CDN

檢測方式,直接命令行輸入nslookup,隨后輸入對應(yīng)域名

有 CDN 如下

怎么獲取客戶端的真實ip,運維筆記,前端

無 CDN 如下

怎么獲取客戶端的真實ip,運維筆記,前端

方法1:查詢歷史 DNS 記錄

查看 IP 與 域名綁定的歷史記錄,可能會存在使用 CDN 前的記錄,相關(guān)查詢網(wǎng)站:

DNS查詢:https://dnsdb.io/zh-cn/

在線域名信息查詢:http://toolbar.netcraft.com/site_report?url=

DNS、IP等查詢:http://viewdns.info/

CDN查詢 IP:https://tools.ipip.net/cdn.php

方法2:查詢子域名

畢竟 CDN 還是不便宜的,所以很多站長可能只會對主站或者流量大的子站點做了 CDN,而很多小站子站點又跟主站在同一臺服務(wù)器或者同一個C段內(nèi),此時就可以通過查詢子域名對應(yīng)的 IP 來輔助查找網(wǎng)站的真實IP。

dnsdb 查詢(https://www.dnsdb.io/)

只需輸入baidu.com type:A就能收集百度的子域名和ip

怎么獲取客戶端的真實ip,運維筆記,前端

方法3:網(wǎng)絡(luò)空間搜索引擎

網(wǎng)絡(luò)空間搜索引擎是為了解決個人每次進行滲透測試是都要進行的信息收集過程,通過全網(wǎng)掃描的方式,將基礎(chǔ)數(shù)據(jù)進行格式化存儲,供安全人員按需搜索使用,提升了安全人員的工作效率。

常用的網(wǎng)絡(luò)空間搜索引擎:fofa、shodan、zoomeye、censys

每種搜索引擎都有對應(yīng)的搜索語法,例如 fofa ,只需輸入:title:“網(wǎng)站的title關(guān)鍵字”或者body:“網(wǎng)站的body特征”就可以找出 fofa 收錄的有這些關(guān)鍵字的 ip 域名,獲取能獲取網(wǎng)站的真實 ip,其他搜索引擎語法請看推薦閱讀

方法4:利用 SSL 證書尋找真實原始 IP

假如你在xyz123boot.com上托管了一個服務(wù),原始服務(wù)器IP是136.23.63.44。 而CloudFlare則會為你提供DDoS保護,Web應(yīng)用程序防火墻和其他一些安全服務(wù),以保護你的服務(wù)免受攻擊。為此,你的Web服務(wù)器就必須支持SSL并具有證書,此時CloudFlare與你的服務(wù)器之間的通信,就像你和CloudFlare之間的通信一樣,會被加密(即沒有靈活的SSL存在)。這看起來很安全,但問題是,當你在端口443 https://136.23.63.44:443 上直接連接到IP時,SSL證書就會被暴露。

此時,如果攻擊者掃描0.0.0.0/0,即整個互聯(lián)網(wǎng),他們就可以在端口443上獲取在xyz123boot.com上的有效證書,進而獲取提供給你的Web服務(wù)器IP。

以 Censys 工具為例,我們僅僅需要做的就是把上面用文字描述的搜索詞翻譯成實際的搜索查詢參數(shù),如下

  • xyz123boot.com證書的搜索查詢參數(shù)為:parsed.names:xyz123boot.com

  • 只顯示有效證書的查詢參數(shù)為:tags.raw:trusted

  • 組合后的搜索參數(shù)為:parsed.names: xyz123boot.com and tags.raw: trusted

但是缺點就是很多非法網(wǎng)站根本沒有 SSL 證書,無法獲取 IP。

方法5:使用國外主機解析域名

國內(nèi)很多 CDN 廠商因為各種原因只做了國內(nèi)的線路,而針對國外的線路可能幾乎沒有,此時我們使用國外的主機直接訪問可能就能獲取到真實IP。

方法6:網(wǎng)站漏洞查找

1)目標敏感文件泄露,例如:phpinfo之類的探針、GitHub信息泄露等。
2)XSS盲打,命令執(zhí)行反彈shell,SSRF等。
3)無論是用社工還是其他手段,拿到了目標網(wǎng)站管理員在CDN的賬號,從而在從CDN的配置中找到網(wǎng)站的真實IP。

方法7:網(wǎng)站郵件訂閱查找

RSS郵件訂閱,很多網(wǎng)站都自帶 sendmail,會發(fā)郵件給我們,此時查看郵件源碼里面就會包含服務(wù)器的真實 IP 了。

方法8:用 Zmap 掃全網(wǎng)

需要找 xiaix.me 網(wǎng)站的真實 IP,我們首先從 apnic 獲取 IP 段,然后使用 Zmap 的 banner-grab 掃描出來 80 端口開放的主機進行 banner 抓取,最后在 http-req 中的 Host 寫 xiaix.me。

方法9:F5 LTM解碼法

當服務(wù)器使用F5 LTM做負載均衡時,通過對set-cookie關(guān)鍵字的解碼真實ip也可被獲取,例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小節(jié)的十進制數(shù)即487098378取出來,然后將其轉(zhuǎn)為十六進制數(shù)1d08880a,接著從后至前,以此取四位數(shù)出來,也就是0a.88.08.1d,最后依次把他們轉(zhuǎn)為十進制數(shù)10.136.8.29,也就是最后的真實ip。

更多方法請看推薦閱讀

客戶端

獲取 IP 方式

在Java中,獲取客戶端IP最直接的方式就是使用request.getRemoteAddr()。這種方式能獲取到連接服務(wù)器的客戶端IP,在中間沒有代理的情況下,的確是最簡單有效的方式。但是目前互聯(lián)網(wǎng)Web應(yīng)用很少會將應(yīng)用服務(wù)器直接對外提供服務(wù),一般都會有一層 Nginx 做反向代理和負載均衡,有的甚至可能有多層代理。在有反向代理的情況下,直接使用request.getRemoteAddr()獲取到的IP地址是Nginx所在服務(wù)器的IP地址,而不是客戶端的 IP。

介紹如何獲取客戶端 IP 之前我們需要了解 Nginx 負載均衡 方式,從協(xié)議上分為如下:

  • 七層復雜均衡(HTTP/HTTPS協(xié)議),工作在第七層“應(yīng)用層”。

  • 四層負載均衡(TCP/UDP協(xié)議),工作在“網(wǎng)絡(luò)層”和“傳輸層”。

七層復雜均衡
配置 Nginx (支持X-Forwarded-For)
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

$proxy_add_x_forwarded_for會將和Nginx直接連接的客戶端IP追加在請求原有X-Forwarded-For值的右邊。形式如下:

X-Forwarded-For: client1, proxy1, proxy2

X-Forwarded-For包含多個IP地址,每個值通過逗號+空格分開,最左邊(client1)是最原始客戶端的IP地址,中間如果有多層代理,每一層代理會將連接它的客戶端IP追加在X-Forwarded-For右邊。

獲取 IP 代碼段
public String getClientIp(HttpServletRequest request) {
String xff = request.getHeader("X-Forwarded-For");
if (xff == null) {
return request.getRemoteAddr();
} else {
return xff.contains(",") ? xff.split(",")[0] : xff;
}
}
缺點:客戶端可以偽造X-Forwarded-For

一般的客戶端(例如瀏覽器)發(fā)送HTTP請求是沒有X-Forwarded-For頭的,當請求到達第一個代理服務(wù)器時,代理服務(wù)器會加上X-Forwarded-For請求頭,并將值設(shè)為客戶端的IP地址(也就是最左邊第一個值),后面如果還有多個代理,會依次將IP追加到X-Forwarded-For頭最右邊,最終請求到達Web應(yīng)用服務(wù)器,應(yīng)用通過獲取X-Forwarded-For頭取左邊第一個IP即為客戶端真實IP。

但是如果客戶端在發(fā)起請求時,請求頭上帶上一個偽造的X-Forwarded-For,由于后續(xù)每層代理只會追加而不會覆蓋,那么最終到達應(yīng)用服務(wù)器時,獲取的左邊第一個IP地址將會是客戶端偽造的IP。也就是上面的Java代碼中g(shù)etClientIp()方法獲取的IP地址很有可能是偽造的IP地址

解決方案 :配置 Nginx 反向代理(必須是直接對外的 Nginx)
proxy_set_header X-Forwarded-For $remote_addr;

$proxy_add_x_forwarded_for會在原有X-Forwarded-For上追加IP,這就相當于給了偽造X-Forwarded-For的機會。

而$remote_addr是獲取的是直接TCP連接的客戶端IP(類似于Java中的request.getRemoteAddr()),這個是無法偽造的,即使客戶端偽造也會被覆蓋掉,而不是追加。

需要注意的是,如果有多層代理,那么只要在直接對外訪問的Nginx上配置X-Forwarded-For為 r e m o t e a d d r ? ? , ? ? 內(nèi)部層的 N g i n x 還是要配置為 remote_addr**,**內(nèi)部層的Nginx還是要配置為 remotea?ddr??,??內(nèi)部層的Nginx還是要配置為proxy_add_x_forwarded_for,不然內(nèi)部層的Nginx又會覆蓋掉客戶端的真實IP。

四層負載均衡

四層負載均衡基于 TCP/UDP協(xié)議 ,X-Forwarded-For的方式獲取客戶端 IP 方式將會失效,此時可以配置 Nginx 開啟 透傳功能

stream {
	server {
		# 開啟透傳
        proxy_protocol on ;
    }
}

添加這個配置后Nginx建立TCP連接時會主動發(fā)送一段報文,會包含客戶端真實Ip

攜帶客戶端IPv4地址的Proxy Protocol v2二進制頭格式如下所示:

怎么獲取客戶端的真實ip,運維筆記,前端

攜帶客戶端IPv6地址的Proxy Protocol v2二進制頭格式如下所示:

怎么獲取客戶端的真實ip,運維筆記,前端

補充

代理 IP
  • 透明代理

其實即便使用了透明代理IP,還是會發(fā)送真實IP。這種一般是用來突破網(wǎng)絡(luò)瀏覽限制,比如說一般用戶不能隨意訪問的教育網(wǎng),使用代理IP就可以突破的。

  • 匿名代理(普通匿名代理和高匿名代理)

普通代理IP是否能查到真實IP。普通代理IP相比于透明代理IP會安全很多,有的服務(wù)器是無法識別真實IP的,但這也不是絕對的,還是會有服務(wù)器識別到使用了代理IP的。

高匿代理IP的可以模擬真正的客戶瀏覽器訪問目標網(wǎng)站,不容易識別出使用了代理IP,會直接認為代理IP就是你用的IP。使用高匿名代理,經(jīng)過高級加密后,在網(wǎng)絡(luò)難以查找信息,但是仍可以從現(xiàn)實查找。想要查真實IP,可以直接從代理IP商那里,通過查看服務(wù)器日志等方式找出他的真實IP地址。

參考文章

http獲取客戶端真實ip的原理及利用X-Forwarded-For偽造客戶端IP漏洞成因及防范 - lovearpu - 博客園 (cnblogs.com)

11種繞過CDN查找真實IP方法 - STARTURN - 博客園 (cnblogs.com)

如何獲取來訪者的真實IP (huaweicloud.com)

通過Proxy Protocol獲取客戶端真實IP(四層監(jiān)聽) (aliyun.com)

解決Nginx代理TCP獲取不到客戶端真實IP的問題

推薦閱讀

滲透測試|玩轉(zhuǎn)網(wǎng)絡(luò)空間搜索引擎 - FreeBuf網(wǎng)絡(luò)安全行業(yè)門戶

技術(shù)|互聯(lián)網(wǎng)掃描器 ZMap 完全手冊 (linux.cn)

F5 BIG-IP LTM 負載均衡器 功能介紹 下篇-阿里云開發(fā)者社區(qū) (aliyun.com)

Nginx 理解四層/七層負載均衡 - Awecoder - 博客園 (cnblogs.com)

用代理IP后還能追蹤到真實IP嗎 - 掘金 (juejin.cn)

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!文章來源地址http://www.zghlxwxcb.cn/news/detail-726657.html

到了這里,關(guān)于【全方位解析】如何獲取客戶端/服務(wù)端真實 IP的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Go反射終極指南:從基礎(chǔ)到高級全方位解析

    Go反射終極指南:從基礎(chǔ)到高級全方位解析

    在本文中,我們將全面深入地探討Go語言的反射機制。從反射的基礎(chǔ)概念、為什么需要反射,到如何在Go中實現(xiàn)反射,以及在高級編程場景如泛型編程和插件架構(gòu)中的應(yīng)用,本文為您提供一站式的學習指南。 關(guān)注【TechLeadCloud】,分享互聯(lián)網(wǎng)架構(gòu)、云服務(wù)技術(shù)的全維度知識。作

    2024年02月08日
    瀏覽(21)
  • 【30天熟悉Go語言】9 Go函數(shù)全方位解析

    【30天熟悉Go語言】9 Go函數(shù)全方位解析

    作者 :禿禿愛健身,多平臺博客專家,某大廠后端開發(fā),個人IP起于源碼分析文章 ??。 源碼系列專欄 :Spring MVC源碼系列、Spring Boot源碼系列、SpringCloud源碼系列(含:Ribbon、Feign)、Nacos源碼系列、RocketMQ源碼系列、Spring Cloud Gateway使用到源碼分析系列、分布式事務(wù)Seata使用到

    2024年02月10日
    瀏覽(32)
  • Python教程(24)——全方位解析Python中的裝飾器

    Python裝飾器是一種特殊的函數(shù),它接收一個函數(shù)作為參數(shù),然后返回一個新的函數(shù),用于擴展或修改原始函數(shù)的行為。裝飾器提供了一種便捷的方式來在不修改被裝飾函數(shù)源代碼的情況下,增加、修改或包裝函數(shù)的功能。通俗點說就是盡量不修改原有功能代碼的情況下,給原

    2024年02月02日
    瀏覽(28)
  • Go泛型解密:從基礎(chǔ)到實戰(zhàn)的全方位解析

    Go泛型解密:從基礎(chǔ)到實戰(zhàn)的全方位解析

    本篇文章深入探討了Go語言的泛型特性,從其基礎(chǔ)概念到高級用法,并通過實戰(zhàn)示例展示了其在實際項目中的應(yīng)用。 關(guān)注【TechLeadCloud】,分享互聯(lián)網(wǎng)架構(gòu)、云服務(wù)技術(shù)的全維度知識。作者擁有10+年互聯(lián)網(wǎng)服務(wù)架構(gòu)、AI產(chǎn)品研發(fā)經(jīng)驗、團隊管理經(jīng)驗,同濟本復旦碩,復旦機器人

    2024年02月08日
    瀏覽(21)
  • 深度解析知網(wǎng)AIGC檢測:從理論到實踐,全方位探索前沿技術(shù)

    深度解析知網(wǎng)AIGC檢測:從理論到實踐,全方位探索前沿技術(shù)

    大家好,小發(fā)貓降ai今天來聊聊深度解析知網(wǎng)AIGC檢測:從理論到實踐,全方位探索前沿技術(shù),希望能給大家提供一點參考。降ai輔寫 以下是針對論文AI輔寫率高的情況,提供一些修改建議和技巧,可以借助此類工具: 還有: 標題: \\\"深度解析知網(wǎng)AIGC檢測:從理論到實踐,全方

    2024年03月16日
    瀏覽(27)
  • 一文章讓你徹底了解OpenAI:CSDN獨家全方位解析

    目錄 什么是OpenAI OpenAI的發(fā)展歷程 相關(guān)名詞解釋 API? GPT? GPT-2? GPT-3?

    2024年02月09日
    瀏覽(30)
  • C++環(huán)形緩沖區(qū)設(shè)計與實現(xiàn):從原理到應(yīng)用的全方位解析

    C++環(huán)形緩沖區(qū)設(shè)計與實現(xiàn):從原理到應(yīng)用的全方位解析

    環(huán)形緩沖區(qū)(Circular Buffer),也被稱為循環(huán)緩沖區(qū)(Cyclic Buffer)或者環(huán)形隊列(Ring Buffer),是一種數(shù)據(jù)結(jié)構(gòu)類型,它在內(nèi)存中形成一個環(huán)形的存儲空間。環(huán)形緩沖區(qū)的特點是其終點和起點是相連的,形成一個環(huán)狀結(jié)構(gòu)。這種數(shù)據(jù)結(jié)構(gòu)在處理流數(shù)據(jù)和實現(xiàn)數(shù)據(jù)緩存等場景中具

    2024年02月07日
    瀏覽(32)
  • “探索C語言操作符的神秘世界:從入門到精通的全方位解析“

    “探索C語言操作符的神秘世界:從入門到精通的全方位解析“

    各位少年,我是博主 那一臉陽光 ,今天來分享深度解析C語言操作符,C語言操作符能幫我們解決很多邏輯性的問題,減少很多代碼量,就好比數(shù)學的各種符號,我們現(xiàn)在深度解剖一下他們。 在追求愛情的道路上,擁有吸引人的外表與內(nèi)在氣質(zhì)固然重要,它們?nèi)缤残浅剑?/p>

    2024年01月25日
    瀏覽(23)
  • 如何對 Spark 進行全方位性能調(diào)優(yōu)?

    如何對 Spark 進行全方位性能調(diào)優(yōu)?

    日志收集 如果作業(yè)執(zhí)行報錯或者速度異常,通常需要查看 Spark 作業(yè)日志,Spark 日志通常是排錯的唯一根據(jù),更是作業(yè)調(diào)優(yōu)的好幫手。查看日志的時候,需要注意的是 Spark 作業(yè)是一個分布式執(zhí)行的過程,所以日志也是分布式的,聯(lián)想到 Spark 的架構(gòu),Spark 的日志也分為兩個級別

    2024年02月21日
    瀏覽(32)
  • 如何全方位了解購房信息?VR全景技術(shù)為您解答

    如何全方位了解購房信息?VR全景技術(shù)為您解答

    在存量房貸利率下調(diào)政策下,房子逐漸回歸到居住屬性,在對于有購房剛需的客戶來說,無疑是一大利好政策,此類客戶有著強烈的看房購房需求,那么該如何全方位的了解購房信息呢? 房企通過VR全景展示、3D樣板房、VR數(shù)字沙盤等功能,將線下房源實景展示在網(wǎng)上,三維、

    2024年02月09日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包