python獲取主機(jī)ip 有什么好的軟件可以搜索局域網(wǎng)內(nèi)的所有IP地址?
有什么好的軟件可以搜索局域網(wǎng)內(nèi)的所有IP地址?看看其他答案,幾乎所有的答案都使用現(xiàn)有的工具直接掃描。這里,我以Python為例來(lái)搜索局域網(wǎng)中所有活動(dòng)的IP?;驹瓌t是平。分析返回的結(jié)果以確定相應(yīng)的IP
有什么好的軟件可以搜索局域網(wǎng)內(nèi)的所有IP地址?
看看其他答案,幾乎所有的答案都使用現(xiàn)有的工具直接掃描。這里,我以Python為例來(lái)搜索局域網(wǎng)中所有活動(dòng)的IP?;驹瓌t是平。分析返回的結(jié)果以確定相應(yīng)的IP是否處于活動(dòng)狀態(tài)。代碼非常簡(jiǎn)單。實(shí)驗(yàn)環(huán)境是win10python3.6pycharm5.0,主要內(nèi)容如下:
1。獲取本地系統(tǒng)類(lèi)型,如果是Windows系統(tǒng),那么ping命令使用參數(shù)n,如果是Linux系統(tǒng),那么使用參數(shù)C,代碼如下:
2。生成ping命令,首先判斷系統(tǒng)類(lèi)別,選擇相應(yīng)的參數(shù),ping一次,分析返回的結(jié)果,如果返回的結(jié)果為空,則對(duì)應(yīng)的IP不活動(dòng)如果TTL生存期大于等于0,則對(duì)應(yīng)的IP活動(dòng)會(huì)打印出活動(dòng)的IP,代碼如下:
3。最后,Ping局域網(wǎng)中的所有IP。這里,為了快速獲取,多個(gè)線程同時(shí)開(kāi)始執(zhí)行,代碼如下:
程序運(yùn)行結(jié)果如下,局域網(wǎng)中的活動(dòng)IP已經(jīng)成功掃描出來(lái):
至此,我們已經(jīng)完成了用Python獲取局域網(wǎng)中的活動(dòng)IP。一般來(lái)說(shuō),整個(gè)過(guò)程并不難,原理很簡(jiǎn)單,只要你有一定的基礎(chǔ)Python,有點(diǎn)熟悉的過(guò)程,你可以快速掌握,當(dāng)然,與直接使用現(xiàn)有軟件相比,掃描很多麻煩,作為一個(gè)小實(shí)驗(yàn),玩,如果是一個(gè)Linux系統(tǒng),你可以直接使用fping命令,可以完成對(duì)局域網(wǎng)中所有IP的掃描說(shuō)明,這里我就不詳細(xì)介紹了,感興趣的可以去網(wǎng)上搜索相關(guān)資料和教程,希望上面的分享內(nèi)容能對(duì)你有所幫助。
如何用python獲取當(dāng)前真實(shí)地理位置?
這個(gè)實(shí)現(xiàn)非常簡(jiǎn)單,沒(méi)有超過(guò)兩個(gè)步驟,首先得到本地的互聯(lián)網(wǎng)IP,然后根據(jù)互聯(lián)網(wǎng)IP查詢(xún)相關(guān)網(wǎng)站,就可以得到當(dāng)前的真實(shí)地理位置,下面我就介紹一下實(shí)現(xiàn)過(guò)程,實(shí)驗(yàn)環(huán)境win7 Python 3.6 Pycharm5.0,主要是內(nèi)容如下:
1。獲取本地外部IP,這個(gè)實(shí)現(xiàn)很簡(jiǎn)單,只要打開(kāi)就行http://txt.go.sohu.com/ip/soip這個(gè)網(wǎng)址,可以在里面找到本地的互聯(lián)網(wǎng)IP,如下:
然后我們用正則表達(dá)式來(lái)提取IP,主要代碼如下,非常簡(jiǎn)單:
程序運(yùn)行截圖如下,已經(jīng)成功打印out the local internetip:
“本網(wǎng)站查詢(xún)地理位置如下:
由于它是一個(gè)JSON網(wǎng)頁(yè),我們可以使用JSON包解析上述網(wǎng)頁(yè)并提取地理信息。代碼如下:
程序截圖如下,我們已經(jīng)獲得了本地的地理位置:
到目前為止,我們已經(jīng)完成了用Python獲取當(dāng)前真實(shí)的地理位置,包括經(jīng)緯度等,一般來(lái)說(shuō),整個(gè)過(guò)程并不困難,代碼也不多。只要你有一個(gè)清晰的想法和熟悉的過(guò)程和代碼,你可以很快掌握它。網(wǎng)上也有相關(guān)的教程和資料。如果你有興趣的話,可以去看看。希望以上分享的內(nèi)容能對(duì)您有所幫助。