0

我可以問一個有經驗的Perl程序員的問題,並且知道一些關於網絡編程的東西。事情就是這樣,我們有一個程序可以用Perl開發網絡分析器,我們的範圍是我們只掃描通過主機連接的交換機的流量,如果我們掃描整個網絡而不是隻有一個交換機?我和我的團隊都在想這是否會花費很多時間來編碼,或者它只會佔用一行代碼,就像這樣。我希望我的問題很清楚。提前致謝。如果掃描整個網絡而不是單個交換機,是否很難在Perl中使用網絡分析器進行編碼?

+0

我不明白爲什麼在編碼方面會有任何不同。它只會有更多的數據要處理,但它是相同類型的數據。 – Barmar

回答

2

這不是Perl的問題,而是如何將數據傳送到分析儀運行的機器。通常,當使用交換機時(除了ARP請求),您只能獲得本地計算機的數據,因此您需要訪問交換機的特定端口(鏡像端口)。要訪問網絡中的所有數據,您需要連接到網絡中所有交換機的所有鏡像端口,使用特殊設備來收集所有流量(網絡分流)或創建某種傳感器網絡來累積數據各種地方。

除此之外,我不會使用Perl進行高速網絡分析(如果要分析整個網絡中的數據,通常需要使用Perl)。即使使用C語言,執行快速捕捉也不是一件簡單的事情,Perl會帶來太多的開銷。但是,您可以使用Perl來分析縮減的數據集,例如在對原始數據進行大量過濾之後。

+0

感謝您的回答,我們實際上會使用端口鏡像。我們將使用Perl,因爲它是一種腳本語言,我們不必重新編譯程序。重新編譯大型程序需要花費很多時間。嗯是的。 – OrdinaryProgrammer

+0

然後你可以看看Net :: Inspect Perl模塊,它可以更容易地提取TCP流和HTTP請求。 –