【問題】請問一個網路技術問題. - PCZONE 討論區

返回   PCZONE 討論區 > ▲ ADSL_CABLE_FTTH 寬 頻 上 網 討 論 > -- 網 路 技 術 版


PCZONE 討論區



通知

-- 網 路 技 術 版 較深入的網路方面技術問題,請來此這版討論

會員
【問題】請問一個網路技術問題.
請問一個有趣的網路技術問題.

[電腦狀態]
   ADSL -- A電腦 -- B電腦
   註: A有開ICS,讓B上Internet (2台直接用 RJ45 連起來的)
 
請問Winsock方面的問題:

條件: A-B二台並沒有任何程式用 WSAStartup 去建立連線. (A只單純讓B可上網而己)
   (因為我看網路的書, 好像他們寫的連線程式都要先用WSAStartup, 才能連起來)
   (所以我這二台應該不算有程式連線吧)

目的: A電腦 要修改'假造 封包給 B

問題1. A 廣播(或指定B的IP)用 send 送出一個封包, 是不是B電腦上所有的程式,
    只要call到 recv 的都會接到? (只是看程式本身要不要處理而己)

問題2. B電腦要送到Internet的封包, 因為要經過 A, 所以若我修改 A電腦 的 WSOCK32.DLL
    可以過濾'修改他的封包嗎? (甚至將某類封包截斷不讓他送到Internet)

其實我 B 電腦有支程式會連上某個站的 Server, 偏偏每隔一分鐘Server就送個值給 B
要 B 去計算並回應回去, 若沒回應or算出來的值不對, Server 就斷線了.

我A電腦也想連上那台Server, 可是A電腦不會計算. 計算的工作得交給 B,
所以我得將Server的問題丟給B去計算, 讓B以為是Server在問的. 而算出來的值我在A攔截下來
不讓他送出, 並收下B算出來的值.

因為我 B電腦 完全不能動到, 所以想請問各位高手, 這種方式行不行.
若不行的話, 是否有其它的方法可達到?

謝謝大家!
(因為我對網路不熟, 若問得有白吃, 請見諒)

回覆
FYI
會員

請先瞭解B 和Server (S) 之間的通訊是否加密, 是就不用玩了
其次必須維持B 和Server 的連線, 否則B 大概不會替A 計算
S--s1--A--s2--B
 \-s3-/
你當然得先透過監聽, 瞭解Server 的問題格式和B 的回答格式, s1 是A 替B 建立的連線, s3 是A 自己建立的連線, Server 經由s3 問的問題, 仍然可以透過s2 去問B, 但是你得瞭解其中是否有Call Sequence, 或是你得為s1 & s3 建立Queue, 或者A 直接利用已經建立的s1, 不另外建立s3, 但是如此一來, 你得分清楚哪些得送回B, 哪些不用, 小弟對於程式寫作是大外行, 您可別拷問小弟
回覆
會員
回覆: 【問題】請問一個網路技術問題.
謝謝 FYI 兄的回答.

您對網路一定很瞭解, 好幾個點都有切到我實際的情況, 也剛好您所擔心的問題都沒有.

只是不知道, 是不是修改Wsock32.dll就可完成所有的欺騙動作.
 Ex: B 電腦的 send, 是不是在A的 wsock32 內的 recv 可攔到 ?
   若wsock32層級太高的話(我對這個七層不熟) 不就沒辦法了.

最後, 您是不是已確定A的廣播在B電腦上所有的程式,只要有call到 recv 的都會接到? (只是看程式本身要不要處理而己)

若可行的話, 小弟己想叫人幫我改 wsock32.dll 了.
謝謝!
回覆
會員
回覆: 【問題】請問一個網路技術問題.
剛剛試了一下.
若沒試錯的話, B 要送給 S 的封包, 在 A 的 wsock32.dll 是攔不到的.
若要在這裡攔得到, Windows 處理封包的流程勢必要是 B send -> A recv -> A send 才行.
(這裡說的 recv/send 皆是指 wsock32.dll)

想了一下. 這好像不太可能. B 要送到 S 的封包應該是直接通過了.
(而不是靠 wsock32.dll 來接, 因發現是要送到 S , 所以再 send 出去)

我認為靠 wsock32 好像無法達到要求. 層級太高了. 他只對於攔應用程式的接/送有效.

不知大大有何建議.
回覆
FYI
會員

不認為你應該用ICS, 這個問題也不應該是Hack Winsock, 理論上寫程式是必要的, 第一步是寫一個Forwarder, A 是B 的閘道, 單純把B 送給A 的封包Mangle 之後轉送給S, 反之亦然

其次, 問題不牽涉廣播, 你把A 想像成路由器或分享器, 難不成路由器只靠廣播? 這個問題有點類似 "Man-in-the-Middle", 但又不完全是, MITM 作用是A 取代B, 但是現在牽涉Question & Answer, 所以作法比較複雜

何以必須維持B & S 的連線? 因為以一般網路應用程式來說, 未連線, 大概就不會Listening, 等你程式寫出來, 測試一下就知道了

雖然你說不能動到B, 但是如果有方法把B 的程式複製到A, 不是比較簡單?

自己玩吧! 小弟也不夠格作為Hacker, keep low profile.

回覆







 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。