通過軟/硬體技術可以做到真正的IP偽造嗎?
由於表達能力有限,我盡量以最簡單易懂的語言描述我的問題。
問題概述
從技術角度來講,可不可以通過軟或硬體做到真正的IP偽造?
比如我想把本機的外網IP 1.1.1.1 偽造為 8.8.8.8第一個問題
以下A B C 三種方式哪個可以真正或理論上做到?並且A B C 分別需要用什麼軟硬體技術來實現?
A. 偽造的IP 8.8.8.8 只用於訪問網路上的其他設備,不需要其他設備通過 8.8.8.8 訪問我的設備。
B. 8.8.8.8 不用於訪問其他設備,只需要讓其他設備通過 8.8.8.8 訪問我的設備。
C. 不僅使用8.8.8.8這個偽造IP訪問網路上的設備,還需要讓其他網路設備可以通過8.8.8.8 找到我的設備。第二個問題
以下A B C 出現哪種情況,第一個問題的答案還能成立?(可多選)
A. 8.8.8.8 這個IP在網路上已經被其他設備佔用(真正擁有此IP的設備)。
B. 8.8.8.8 這個IP在網路上並沒有被設備綁定。
C. 8.8.8.8 這個IP還未被某IP管理中心分配。(類似 255.1.1.1 這樣的保留地址)第三個問題
IPv6是否也能做到偽造?和IPv4偽造道理相同嗎?最後,謝謝你能夠耐心的看到這裡。
請題主先看看這個小品:
馬:還有呢,他寄信從不貼郵票
芳:那能寄到嗎?
馬:能呀,他把那收信人跟寄信人的地址倒過來寫。郵局一看,郵資不足退回去,正好退給那收信人了
芳:啊,郭大寶那聰明都用在這上面了
這個問題涉及到 IP 網路的工作原理,其實如果 IP 網路的工作過程搞清楚了,這些問題就是自然可以解決的了。
IP 網路的工作過程,和郵政系統特別像。郵政系統中,數據被包成一封一封的信來傳輸;IP 網路上,數據則是以數據包為單位傳輸的。標準的 IP 網路中(沒有額外的策略和安全配置),數據包從源主機發出,經由一系列的路由器轉發,最終到達目標主機。當經過每一個路由器的時候,路由器都會根據其目的地址進行路由選擇,即選取下一個該發給的路由器。每個數據包的路由選擇過程是相互獨立的,這意味著:
- 連續傳輸的幾個數據包的路徑選擇沒有必然聯繫;
- 理想情況下,路由選擇與且只與目的地址有關;
- 某數據包的傳輸路徑與對該數據包回復的數據包的傳輸路徑沒有必然聯繫;
另外,我們要注意,多數的有意義的通信過程都是雙向的。例如,我使用瀏覽器瀏覽某網站的網頁,這個過程中,看似是瀏覽器發起到網站伺服器的連接請求,實際上,仔細想一下,就會發現,這裡面還有網站伺服器發回給瀏覽器的數據內容。如果我們設法單向阻斷網站伺服器到瀏覽器的數據,卻不阻止瀏覽器到伺服器的數據,實際上,瀏覽器也是無法完成「瀏覽網站」這個任務的。
因此,你問的三個問題中,無論你是使用偽造的地址作為源地址,還是目的地址,只要你想完成有意義的「訪問」這個動作,都需要達到 C 這個層次,即雙向可達。
事實上,根據「路由選擇與且只與目的地址有關」這一條,發出的數據包可以任意填寫源地址。這好比說,A 寫了一封信給 B,但是落款卻寫的是 C 的地址,在信裡面罵了 B 一通。B 看了很生氣,回敬了 C 幾句。但是 C 收到了這些「回敬」,感覺莫名其妙,於是不理會 B —— 顯然,A 是不會收到 B 的回敬的。
A 為什麼不會收到 B 寫給 C 的信呢?答案是顯然的:這一點是由郵政系統的投遞準確保證的。在 IP 網路內,之所以能夠知道某個目的地址的數據包要發給誰,是依靠路由表來管理的。路由信息的管理是通過路由協議進行的。這個協議的大致的工作過程是,每一個運營商都向他的鄰居通告自己有哪些 IP 地址段。假設運營商甲與乙和丙連接,丁也與乙和丙連接,那麼甲就會從乙與丙那裡收到丁的路由通告;然後甲會根據一些策略,來選取到丁的路徑,發到乙或者發到丙。路由信息的交換,是運營商之間的事情,而作為運營商甲的用戶 A,自然無法發出路由通告,也不可能把去往運營商丁的用戶 D 的數據劫持到他這裡。
不過,如果是運營商戊由於配置錯誤,或者是出於惡意,也聲稱 D 的地址在自己這裡,並且這個通告被甲採信了,那麼確實可以講去往 D 的數據劫持下來。因此,運營商之間,往往都會根據相關地址分配的信息,過濾對方發來的路由通告,防止出現類似問題。因此,對於一般用戶來說,無論地址是否被分配,也無論地址是否被佔用,都不能完成 ABC 這三種情況。對於 IPv6,因為路由的概念和尋路方法與 IPv4 一致,因此結論也是一致的。
至於我剛才提到的偽造源地址的問題,也可以通過源地址檢查的方式進行過濾,實際上也是很難實現的。
題主不需要偽造,可以將8.8.8.8這個IP配置在任何機器上,進一步說,可以將喜歡的IPv4靚號配置在自己的設備上,如果運氣好,運營商不檢查出方向的IP包的源IP(是否1.1.1.1?),你可以將這個IP包發給Internet上的任何主機,這個技術就是經常被使用的DoS攻擊(Denial Of Service)。
只要使用軟體,循環修改源IP地址,目的IP為被攻擊伺服器的IP,包內容為TCP SYN,由於這些源IP可能不存在,無法完成三次握手(即使存在,也無法完成連接),所以伺服器會有很多半開連接(half-open),可以快速耗盡伺服器的內存資源,造成合法用戶無法連接。
問題是,你可以偷偷摸摸使用,但回程的IP包會送達到8.8.8.8那台主機,因為Internet壓根不知道你擁有8.8.8.8,運營商也不會幫你擴散8.8.8.8這條路由,如果擴散了,那麼發完8.8.8.8的正常流量可能都被你偽造的8.8.8.8截流了,那誰還敢和這家運營商連接?
綜上所述,可以使用偽造的IP發送出方向的包,但返程流量全部會流到合法的用戶主機(如果存在),即使不存在,也不會流到你的主機。
第一個問題2)3)我們每天都在用,VPN、隧道,你的電腦1.1.1.1 與8.8.8.8 建立一個VPN/隧道,你所有流量都走隧道,8.8.8.8幫你做地址轉換,那麼你的電腦1.1.1.1 呈現在Internet上就是8.8.8.8,但這需要8.8.8.8主機配合你完成隧道建立,沒有8.8.8.8的配合,這一切看起來都是天方夜譚。
至於我們經常遇到的TCP被中間防火牆Reset,這個壓根不是什麼難題,因為流量會途徑防火牆,防火牆偽造一個TCP reset 報文太小菜一碟了。
完全可以,新鮮出爐的案例:
俄羅斯電信公司劫持金融服務的網路流量
本周三,MasterCard、Visa 等數十家金融服務企業的網路流量在短時間內被俄羅斯國有電信公司 Rostelecom 劫持。Rostelecom 通過 BGP 廣播將不屬於它的網路前綴聲明歸屬於它,這可能是一次人為錯誤,但針對的目標是金融行業的重要企業,因此這次 BGP 異常非常可疑。Dyn 的總監 Doug Madory 指出,典型的失誤通常是不加選擇的,但這一次事故顯然是瞄準了金融機構。事故發生周三下午太平洋時間 3:36pm 左右,Rostelecom 突然同時聲明擁有 36 個原來屬於不同金融公司的網路前綴,隨後受影響網路的流量重定向經過 Rostelecom 的路由器。劫持持續了 5 到 7 分鐘。這次劫持允許俄羅斯攔截或操縱受影響地址空間的流量流動。
關鍵的原因在於,IPV4在設計的時候,偽造數據沒有實用價值,加上設備計算能力有限,所以幾乎所有的協議都是明文傳輸的,根本無法鑒別是不是偽造的。
後來技術發達了,偽造數據有了攻擊價值,再加上計算能力指數級提升,配置加密和簽名之後,就不那麼容易偽造了。比如ipv6最開始的時候是強制使用ipsec加密的,後來為了方便部署和某些國家反對, RFC6434 取消了ipv6的強制加密。
在我們的網路出口上 每天都有這樣工作的設備 他們的工作是發出偽裝的HTTP RST消息
如果你掌握了鏈路中所有的網路設備 你想幹什麼都行
在Internet偽造自己的發出的源地址,是不會收到返回的數據的,因為運營商在發布路由的時候是有嚴格的設計的,換言之我分給你的地址是1.1.1.1,你就不能用別的,用別的說明你想幹壞事…
典型的壞事,各种放大反射DDoS攻擊就是這個套路,有興趣不妨去查一下可以偽造封包中的ip,這個本來就是無法驗證的,你可以拿scapy來練練手。如果你想要偽造自己的ip,即接收發往該ip的封包,偽造就不管用了,得mitm。
發包src ip你可以隨便給,但是回復你怎麼收到是的問題
真正「鑒別用戶身份」的,其實是mac地址,IP不一定是固定的,它更像是一張車票,一張門票,一張號碼牌。
從這個角度看,偽造是完全有可能的,想想當年的ARP欺騙就行了。
但是一切並不是這麼一帆風順的,制假鈔還要過印鈔機呢,IP地址也不是自己隨意報一個人家就接受的。比如票務部門只派發了1-30號的門票,你拿一張35號的門票去,肯定要被他們轟出來的。
而如果你偽造了10號的門票,那麼他們就會按照他們自己的規章制度來核實你們的身份。畢竟每張門票都是「實名制」(對應mac地址)發放的,可能多張票對應一個人(陸續買票),但不會一張票對應多個人(票會重複利用,但先前使用的人馬上就失效了的)。
和現實一樣,這樣的「防護體系」也是脆弱不堪的。試想一下如果票務部門裡有個祁同偉,那不是自己的人想幹什麼就能幹什麼?事實上也的確有這麼一個東西,整天在網路上偽裝成一些我們見不到的人……
這些影響都是有圈子之分的,比如你當上了班長,那大概班上的事情你可以插一腳,但其他班管不著,你也影響不了(區域網)。而如果你當上了省公安廳廳長,那麼往下所有範圍都會被影響。但是再往上的地方你又控制不了,更別提國外了……
當然啦,這只是建立在不偽造mac只偽造IP的基礎上。如果mac也偽造了,那就像是做了假身份證拿假票頂替別人上火車,查不查得出來還真難說。更有甚者偽造得像的話,那就是一處真假美猴王了。
以上是我個人理解,我專業不是學網路的,計算機網路也就普通的水平,有錯誤還請指出。
1.TCP協議不可以,因為要握手之後才通信
2.UDP理論上可以,因為你只管發就行。但是現在網關都有檢查,你發出去,網關不認不給你發
3.http看具體業務怎麼取IP,比如經典的業務取XFF頭作為用戶ip就導致可以偽造
完全可以。
正在做這個畢設,一個ARP攻擊器。
對網關有許可權就可以,除此之外不可能。
這個太簡單了,可是干運營商的表示會用urpf阻止你
出去回不回得來而已。
在區域網內可以一試,公網就算了吧,完全不可能。
同網段內可以完美偽造,跨網段完全不可能
SYN是可以偽造IP的
寄信的時候地址寫 城市 鄉鎮 街道 門牌號 ,把這些都看作ip地址,如果你改了自己的門牌號,送信的只會在當前街道搞錯地址,如果你想改街道 改鄉鎮,基本不能,因為這些地址是上面分配的。
首先,先明確一點,這裡說的偽造IP不是特指某一個IP,如果你說我必須讓我的IP是8.8.8.8,那你就不用往下看了,不可能。
A. 偽造的IP 8.8.8.8 只用於訪問網路上的其他設備,不需要其他設備通過 8.8.8.8 訪問我的設備。
SOCKS5或者其他代理,相當於你的對外訪問通過了8.8.8.8的轉發。
B. 8.8.8.8 不用於訪問其他設備,只需要讓其他設備通過 8.8.8.8 訪問我的設備。
VPN,僅對埠做映射。
C. 不僅使用8.8.8.8這個偽造IP訪問網路上的設備,還需要讓其他網路設備可以通過8.8.8.8 找到我的設備。
同上,VPN,同時做映射和轉發。
第二個問題
以下A B C 出現哪種情況,第一個問題的答案還能成立?(可多選)
A. 8.8.8.8 這個IP在網路上已經被其他設備佔用(真正擁有此IP的設備)。
B. 8.8.8.8 這個IP在網路上並沒有被設備綁定。
C. 8.8.8.8 這個IP還未被某IP管理中心分配。(類似 255.1.1.1 這樣的保留地址)
這個問題其實我第一句話就說了
B有一定幾率,不過首先你得有一台IP為8.8.8.X的電腦才行
第三個問題
IPv6是否也能做到偽造?和IPv4偽造道理相同嗎?
雖然沒試過,但是我說的都是正常的網路功能,我想微軟會解決這個兼容性的
不過話說回來,你這是在找人幫你做作業么?
如果不可以,哪有那麼多的黑客。
推薦閱讀:
※在facebook註冊的賬號被禁用了怎麼解決?
※OSI七層模型中,每一層的數據包都是誰生成和解包的?
※計算機網路中信息傳輸的安全是如何保障的?
※HTTPS可以防止中間人篡改內容嗎?
※被運營商劫持了怎麼辦,應該是HTTP劫持?