1樓:鈄影
我覺得你的思路很好,不過要實現還存在很多技術上要解決的問題,當然這些都是可以實現的只是要花費你不少的時間和精力,我對linux不是很熟悉,我想通過win系統區實現這樣一個程式來給你一個思路,我想這個思路在於linux下也是可以的 ---------------- 首先實現這樣一個網路監視程式,從你的描述來看,最基本要具備兩個功能:1.監視程式的啟動2.
為當前啟動的程式選擇正確的網路連線方式 1 === 》第一個問題相對來說比較容易實現,主要通過掛鉤系統相對應建立程序的系統函式就可以了,hook方法很多可以用普通hook或者inline hook,這方面網上資源相當豐富 當實現了程式監視後,接下來要對當前的程式進行判斷,判斷其是否具有網路連線行為,這也可以通過hook相關的網路連線函式來實現,如果該啟動的程式不存在網路連線行為,直接放行,如果存在網路連線行為那麼需要對該程式連線做進一步的判斷,決定網路連線的方式,這有點複雜,如果你沒有使用黑白名單這樣的東西的話,完全由程式本身去分析一個啟動程式並決定它的網路連線方式,要是你有個黑白名單,那麼就簡單很多了,只要通過查詢黑白名單來決定網路連線方法 (判斷當前程式的網路連線方式,單純從程式來分析是很困難的而且很不準確,很容易出現,錯誤的判斷,最好是用黑白名單,名單可以以關鍵字,或者全民進行匹配或者模糊匹配) 2===》決定網路連線的方式,其實在上面都說的,簡單點就是通過黑白名單,如果是直接上網的話,那麼你的這個sss程式其實可以直接放行不需要管讓被監視的程式自己直接連線網路,如果是決定採用**上網,那麼可以在你的sss程式中新增一個獨立的**模板用於監視程式的**連線網路,也就是說**工作來由你sss程式實現,這個時候sss也就相關於一個**器用於**程式連線到目標主機 *************************= 簡單的圖表示: [被監視程式] ------ > sss程式 ----------------(分析該程式是否存在網路行為) --不存在 ---》直接放行 |存在 ————分析程式(黑白名單) (**) / | 直接上網 / 放行 / sss建立一個新的執行緒用於**連線 :這只是簡單的從你描述中,我從理論上做的分析,希望可以給你些思路,然後想出一個比較適合自己的程式的一套實現方案 程式實現其實並不是很複雜的,至少在減去對程式網路行為分析那塊而用黑白名單的話來說
記得采納啊
2樓:摲摛筧斂
這個有其他的方式 很好解決。 用策略路由。 **方面不用http而用vpn的方式。
遠端搞一個vpn server。 然後你這邊閘道器裝置裡面撥入vpn,建立永久vpn連線。 80 和 443埠 dns udp埠 走預設路由,也就是預設線路。
其他所有埠走 vpn線路。 對埠進行策略路由。 軟路由 routeros 就容易的做到。
自學高手,程式設計高手,計算機高手等,進來一下,問一個學習方法的問題
3樓:
學校學基礎,然後自己根據興趣學習,其實不管學什麼方向,有些東西還是相通的,你可以看看流行的技術,初級的看看軟體員,www.csdn.net什麼的,看看大家都在幹什麼,看到有興趣的,就鑽進去,弄懂,差不多一週到一個月,沒興趣了,再看看別的,在這樣的學習中,你慢慢就發現基礎多重要了,比如計算機架構,網路通訊,作業系統,然後你會去惡補,有了幾點,可以看看inforq這樣的**,看看新聞,領悟以下精神。
總之,如果你越學越覺得自己渺小就對了,如果越學越覺得自己厲害,那你就沒戲了!
4樓:匿名使用者
學程式設計 是為了 做軟體 而 做軟體 單單會 c++ 說話不行的 你只會c++ 也找不到工作 ,只抱著一本c++的書看 就算你把書背的爛熟也沒用,
你需要的是 思想,很多隻學c++的人 都會覺得 自己的c++的理論學得很好了,但是 遇到稍微 大的專案 就 傻眼了,
所以要學好 程式設計 還要學其他的,數學 資料結構 軟體工程 作業系統 這些都是必學的,在大學的計算機專業裡 這些都是都是必修課,有了這些知識 你才能寫出大的程式。
5樓:天堂風飛翼
個人意見而已:我覺得學的時候,應該是多門同時並行。因為語法這東西本就是一通並通的,這反而能加快學習的進度,當然。
程式設計高手這一說,是有多方面的,網路的,有程式的,最好是一程式的,和一網路的結合,這樣子更有效率。
6樓:
高手不敢,學習方法和你一樣,你的學習方法很不錯,的確就該這樣,拼了命了逼自己看反而容易失去興趣,興趣沒了就完了
高手進,關於如何學好計算機網路等的問題
7樓:匿名使用者
沒希望了,樓上的那個兄弟 回答的太全面了。
我簡單的說下。
作業系統大概的意思就是可以作業系統的東東,可以做到管理等功能。dos那種作業系統,桌面作業系統如xp。xp應該是傻瓜式的,最近流行的那幾種linux,unix應該是學習重點,而windows 2000,service,2003常以伺服器的形式存在,知道他們的不同,和如何做伺服器就行了。
訪問**的時候。。。不想寫了 呵呵
看樓上的吧
8樓:匿名使用者
1.看書背概念、命令,計算機網路作為一門新興學科,所以它的概念及命令,你不一定要一字不差的背下來,但一定理解其中的意思。
2.多實踐多操作,包括經常上網,使用各種命令、軟體、硬體。如果有條件,多在機房裝裝機器,拆拆各個部件,看看網路組成,都是非常有好處的事情。
3.適當些做計算機網路題。比如計算機網路過級題及一些程式設計題。
9樓:匿名使用者
用心和用腦 不要想別的 好好學
程式設計問題請教高手 150
10樓:來自獅子林惜玉憐香 的銀耳
你懂c有懂c++,我個人認為向嵌入式發展較為理想,嵌入式用的語言基本是使c和c++,而且嵌入式的前途很好
11樓:匿名使用者
最討厭像樓上的這位,人家問個個性化的問題,他確偏要從網上拷貝一些驢脣不對馬嘴的東西來糊弄人,教條化的東西誰不會找,要針對提問本身作回答嘛
計算機網路自學難嗎,計算機網路難學嗎
自學對於沒有自制力的人來說,是比較困難的,不如找個老師或者專業的人監督指導下 計算機網路難學嗎 咋給你說呢?我到是學計算機網路專業的學生 對我們這門專業 我只能說是因人而異了!看你對自己的目標的高低了!現在就在學網路,不算難認真學的話,不過內容挺多的,理論也挺多的,想要學得好要花心思才行。我現在學得...
計算機網路,什麼是計算機網路
計算機按通用網路劃分標準。按這種標準可以把各種網路型別劃分為區域網 都會網路 廣域網和網際網路四種。一 區域網 1 通常我們常見的 lan 就是指區域網,這是我們最常見 應用最廣的一種網路。區域網隨著整個計算機網路技術的發展和提高得到充分的應用和普及,幾乎每個單位都有自己的區域網,有的甚至家庭中都有...
關於計算機網路基礎的選擇題,計算機網路基礎計算題
bbdbb bcd abc abcde ab abc 錯誤 正確 正確 正確 正確 以上答案均屬個人答案,並非完全正確,僅供參考,希望樓主取捨得當。b b d b b bcd abc abcde cd abc 錯誤 正確 正確 錯誤 錯誤 b b d b b bcd abc abce cd abc ...