ping 至死機既問題...

2007-04-16 9:27 pm
想問當一台電腦被多台電腦同時ping時...
是否會DOWN機....OR...會出現其他現象...

如果係既話...咁要用幾多台電腦先會被人PING死呢...

如果冇咁多台電腦..係咪有軟件會做得到呢....
OR會有其他方法呢...

如果要防止被人PING死可以點呀...
有咩設定OR..軟件可防呢..

-------------------------------------------------------------------

知既話就長詳講講呀...不過唔好COPY一大段野俾我...THX...

回答 (1)

2007-04-17 4:29 am
✔ 最佳答案
下?可以話你o岩既,但係你知唔知一個ping既packet size有幾大?真係好細好細咋喎,如果你要靠ping黎ping死部server…哈哈哈,或者有d妙想天開,講真一句唔係唔得既,不過機會真係好微,如果十年前都或者有d實際機會,你要睇下果部server既receive buffer同banwidth有幾大,做得webserver既機,receive buffer通常都唔會細得去邊

試諗下,一個ping packet只係得64bytes (by default),但係一個正常既receive buffer size係由8kB到8MB不等,我當個buffer size係最細:8kB,8000除以64係125,咁姐係話(唔計勁多其他因數咁講)你要用超過125個ping packet同時去到個server到咁先可以crash部server喎 (如果係8MB,咁你要有十幾萬個packets同時receive先得,自己哪來十幾萬部電腦加十幾萬個獨立internet connection ?_?)

但係,唔好以為真係咁簡單,如果果部server所用既bandwidth唔係好大,咁樣d data響個channel到就已經好似用漏斗咁壓下bandwidth了

仲有就係做server果部腦通常都唔會太慢,假設好似我頭先咁講,用125個packets send到去個server到,可能個buffer未滿之前,已經大部份既packets都被處理掉,咁樣個buffer就永遠都唔會被塞爆

有d server有自動block receive port既功能,當receive buffer滿左既時候,佢會block左個port,直到buffer入面既packets被處理掉,有位再收時先會再開返個port,咁樣就永遠都塞唔爆佢個buffer

加上,如果你真係有百幾部機一齊ping,就算你響同一千份之一秒send,d packets到最後都唔會同時間到部server,因為server同你d電腦之間隔左咁多野咁多interconnection nodes,一定會有好大偏差

塞爆receive buffer只係其中一個方法,但係呢個係最有可能性的了(雖然機會都係微到基乎0咁濟)

當然啦,你可以自己寫軟件(唔難寫)黎試試用單一電腦send勁多個巨型既packets,你部機一定要好快,上網速度要好高先得,因為你想連環係咁send,而你想d packets響盡量同一時間到達

雖然我做過好多transport layer同network layer既研究,但係真係未諗過可以ping得死部機,除非部機係又慢又少記億體果種

如果要'防止俾人ping 死',或者唔想俾閒雜人騷擾,請用防火牆等此類系統,但係咁亦都會令好多正常使用者受影響,如果部server係一部普通家用機,其實用norton system works這類好普遍的防駭軟件就足以應付

再唔係既,你可以close左個 icmp socket,但係呢如果d人係有心要 'ping死你'既,佢地可以試其他socket

理論上黎講,你可以阻止人ping你,但係實際黎講,你唔可以完全阻止人地ping你

不過放心,一部正常setting既server會被ping死的機會實在微到乜咁


收錄日期: 2021-04-25 19:52:02
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20070416000051KK01401

檢視 Wayback Machine 備份