簡體   English   中英

如何在python中更改IP地址時對其進行可視化?

[英]How to visualize IP addresses as they change in python?

我編寫了一個小腳本,每次打開新的終端窗口時都會收集我的外部IP地址,並將其以及當前時間附加到文本文件中。 我正在尋找一種想法來可視化我的IP地址更改的時間/頻率。 我在家庭和校園之間跳來跳去,可以使用腳本將它們分開,但是單獨顯示它們會很好。

我經常使用matplotlib。 有任何想法嗎?

在xkcd互聯網地圖上將您的IP繪制為點(或放大一些地圖子集,以更好地顯示不同但緊鄰的IP)。

按照您擁有該IP的頻率成比例地繪制“堆疊”的每個點,並對IP進行着色以使最近的點更亮,而較少的點成比例地變暗。

“何時”是一維時間數據,由時間軸很好地顯示。 在更大的時間范圍內,您可能會丟失細節,但是大多數“何時”情節都會出現此缺陷。

對於“多久一次”,將標准的時間與頻率的2d(條形)圖划分為每天/每周/每月的存儲桶將是一種標准的處理方式。 移動平均線也可能是信息性的。

您可以將時間線和條形圖結合在一起,放大時的時間線可見,縮小時的頻率顯示。

在水平軸上有時間的條形圖怎么樣?條形圖的寬度是計算機擁有特定IP地址的時間長度,條形圖的高度與寬度成反比? 這也將給出何時與多久進行一次繪圖。

您還可以將數據解釋為脈沖密度調制信號,就像在SuperAudio CD上獲得的一樣。 您可以對此進行繪圖,甚至可以聽數據。 由於IP更改事件沒有明顯的時間長度,因此脈沖長度將是可調參數。 沿着類似的線條,您可以將數據視為方波(三角波,鋸齒波及c),其中每個IP更改事件都是一個電平轉換。 聽起來像是一個有趣的Pure Data項目。

matplotlib用戶指南中有一節專門介紹圖表上的繪制條以表示范圍。 我自己從來沒有做過,但它似乎適合您的需求。

假設您指定了終端,我將假設您在UNIX變體系統上。 將-f開關與命令行實用程序tail一起使用,可以使您不斷監視文件的結尾。 您還可以使用諸如IBM的inotify之類的東西,它可以監視文件更改或進行通知(並將文件放置在其自己的目錄中),這通常在大多數發行版中都是標准的(然后可以調用tail -n 1來獲取最后一行)。 一旦更改了該行,就可以使用Python的time.time()獲取自紀元以來的當前系統時間,並從上次更改的時間中減去該時間,然后使用matplotlib繪制此差異。 我認為您可以將時間划分為多個范圍,以使自己繪制圖表更加容易。 1 Bar的更改間隔少於1小時,另一bar的更改間隔為1-5小時,依此類推。

如果您不想直接使用它,可以在此處找到 tail -f的Python實現。 檢測到文件中的更改后,可以執行上述操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM