Python特異功能之一:利用Python進行埠掃描,分享學習教程

2019-08-21   程式設計師小姐

Python埠掃描

在Linux中判斷一台主機是否可達,可以使用ping命令,而判斷埠是否打開,可以使用telnet命令,但是telnet命令沒有超時時間的參數,使用起來不是很方便,那麼可以利用Python來完成一個埠掃描的功能

上面使用的是python的socket模塊完成的埠檢測, 其實python的內置模塊telnetlib也可以完成埠檢測任務

當然上面這兩種方式都是串行執行的,這在多IP多埠的情況下是非常慢得,所以引入多線程threading模塊。

前面的例子中我們的程序為每個ip的每個埠創建一個線程,在IP和Port較多的時候,會暴露出各種問題(比如頻繁的上下文切換),因此,我們需要限制進程數量,那麼可以利用Queue模塊。

這裡使用了Queue,那麼就會引出生產者和消費者模型,生產者只需要把信息存入到隊列中,消費者消費時只需要看隊列中有沒有,這樣極大程度了解耦了我們的程序。

Python的「奇淫技巧」還有很多,相信大多數學Python的小夥伴也知道很多,不妨在評論區打出來的你所知道的集中技巧,也讓小編和在學Python的讀者們看一看,更能學到不好東西

最後,小編也為正在學習Python的小夥伴準備了Python415集視頻教程和學習資料

獲取方式很簡單,轉發可!+關注一下,然後私信小編「資料」即可