obshtestvo / bgwikigovedits

tweets about anonymous Wikipedia edits from particular IP address ranges used by Bulgarian Government
4 stars 0 forks source link

Проверяване какви промени са правени до сега #3

Open tochev opened 10 years ago

tochev commented 10 years ago

На някой може да му е интересно какви са били промените от тези IPта до сега.

За целта взех последния BG dump и направих един script, който да показва променените страници и кое IP ги е променило.

wikipedia дава хубаво форматирани xml dump-ове за сваляне. Човек трябва да ги обработва като компресиран stream, че иначе са прекалено големи.

Важно: Това е правено с теслата по никое време, тези резултати не са за публикуване където и да било, особено в twitter!!!

Disclaimer: част от данните са на по над 10 години, а тогава не е ясно чии са били IPтата (особено blizoo range-a).

Процес:

$ cat government.ASNs.csv | awk -F , '{print $2}' > nets.txt 
$ vim nets.txt # remove header and any empty rows
$ wget http://dumps.wikimedia.org/bgwiki/20140702/bgwiki-20140702-pages-meta-history.xml.7z
$ 7z x bgwiki-20140702-pages-meta-history.xml.7z -so | pv -r | grep -E '<ip>|<title>' > title_or_ip.txt
$ python3.4 wikiedits.py | uniq -c | sort -n -r > govedits.txt #брой, IP, title
$ cat title_or_ip.txt| grep '<ip>' | wc -l
788607
$ cat govedits.txt| awk '{SUM+=$1} END {print SUM}'
5860
$ cat govedits.txt| sed 's/^............................//' | sort | uniq | wc -l
2447

Резултати:

Би било тривиално да се видят реалните промени като diff или да се генерират wikipedia url-и.

mitio commented 10 years ago

Въпреки, че си прав, че вероятно IP-диапазоните няма да са коректни за минали периоди, смятам, че това е много важна проверка.

Ще е супер, ако успееш да направиш някакво обобщение и да извадиш някакви примери, което да пуснеш тук, когато имаш повече време.

nckbnv commented 10 years ago

Всъщност AS12564 записа в RIPE е създаден в далечната 1999, та мисля че голяма част от IP-тата в range са си активни от тогава насам, евентуално да са добавяли. Тези на МФ примерно пък са от 2003-та. Като цяло мисля че като изключим малката мрежа на Близу, която ползват от Търговския регистър, по-голямата част от останалите според мен е запазена.

nckbnv commented 10 years ago

Иначе разгледах 10-на редакции от статистическите данни, които е извадил Точо. Мисля че в по-голямата си част редакциите не са зловредни, дори напротив забелязва се, че има активни wikipedia потребители сред държавните служители - примерно забелязва се pattern за едно от IP-тата - обогатява статии свързани с Пловдив. Има други, които са писали или редактирали статии за европейските институции, което може да си е било и официална задача. Забелязах и 1-2 "върнати" редакции, но и те не са зловредни, по-скоро са върнати заради проблеми с изказа и неща от рода. Като цяло нужен е по-обстоен анализ, но липсва wiki вандализъм, което ме изненадва приятно.

tochev commented 10 years ago

@justnick, можеш ли да добавиш от кога до кога са използвани IP range-ове в csv-то?

nckbnv commented 10 years ago

@tochev не мога да гарантирам сто процентова точност (може би не за всички range–ове). Информацията е налична, трябва да се направят няколко заявки и да се систематизира, ще драсна един скрипт за целта, да видим какво ще излезе.

nckbnv commented 9 years ago

Добавил съм датите от момента, в който въпросните IP-та са описани за всеки AS Number, като съм ползвал RIPE history. Ако вземем за пример AS44586 на МДААР, то нещата изглеждат по следния начин: list-versions

[obshtestvobg@solara bgwikigovedits]$ whois -h whois.ripe.net -- "--list-versions AS44586"
[Querying whois.ripe.net]
[whois.ripe.net]
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Version history for AUT-NUM object "AS44586"
% You can use "--show-version rev#" to get an exact version of the object.

rev#  Date              Op.    

1     2008-02-08 09:12  ADD/UPD
2     2011-06-28 20:10  ADD/UPD
3     2013-06-19 14:23  ADD/UPD
4     2013-07-17 10:06  ADD/UPD
5     2013-09-03 11:37  ADD/UPD
6     2013-10-08 14:27  ADD/UPD
7     2013-10-08 14:29  ADD/UPD
8     2014-05-27 14:13  ADD/UPD
9     2014-08-13 05:59  ADD/UPD

% This query was served by the RIPE Database Query Service version 1.75 (DB-3)

show-version 1

[obshtestvobg@solara bgwikigovedits]$ whois -h whois.ripe.net -- "--show-version 1 AS44586"
[Querying whois.ripe.net]
[whois.ripe.net]
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Version 1 of object "AS44586"
% This version was a UPDATE operation on 2008-02-08 09:12
% You can use "--list-versions" to get a list of versions for an object.

aut-num:        AS44586
as-name:        MSAAR
descr:          Ministry of State Administration and Administrative Reform - Bulgaria
org:            ORG-MA291-RIPE
import:         from AS8866 action pref=100; accept ANY
import:         from AS12564 action pref=100; accept ANY
export:         to AS8866 announce AS44586
export:         to AS56412 announce AS44586
default:        to AS8866 action pref=100; networks ANY
admin-c:        YA373-RIPE
tech-c:         YA373-RIPE
mnt-by:         BT95-ADM
mnt-routes:     BT95-ADM
source:         RIPE # Filtered

% This query was served by the RIPE Database Query Service version 1.75 (DB-4)

В глупавия скрипт, който съм качил с commit abd435ec94c008c0795c561407ec451f8b56d606, вземам датата на първия update за всеки от AS number-ите във файла government.ASN.csv. Тъй като всички мрежи с изключение на тази взета от Blizoo, са си описани като government мрежи и в RIPE, то можем да приемем че датата на първия им update или с други думи добавянето им в RIPE DB е и момента от който се ползват. Не така стои въпроса с AS13124. Тя се ползва от 2008-08-28:

[obshtestvobg@solara bgwikigovedits]$ whois -h whois.ripe.net -- "--show-version 3 213.240.249.176/28"
[Querying whois.ripe.net]
[whois.ripe.net]
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Version 3 (current version) of object "213.240.249.176 - 213.240.249.191"
% This version was a UPDATE operation on 2008-08-28 16:35
% You can use "--list-versions" to get a list of versions for an object.

inetnum:        213.240.249.176 - 213.240.249.191
netname:        REGISTRY-AGENCY
descr:          Registry Agency
country:        BG
admin-c:        ES2178-RIPE
tech-c:         IBGC
status:         ASSIGNED PA
mnt-by:         AS13124-MNT
source:         RIPE # Filtered

% This query was served by the RIPE Database Query Service version 1.75 (DB-3)
nckbnv commented 9 years ago

Забравил съм да пиша, че с commit f202b90e35696c85ecd296e1d7bad650941e7c3b добавих допълнителна колона, в което горното (първи запис в RIPE) се проверява и за всеки IP range, освен по AS.

nckbnv commented 9 years ago

btw, @krokodilerian понеже си доста по-запознат с RIPE сещаш ли се за по-точен метод, по който може да се установи от кога се ползва дадена мрежа. Твърде възможно е и в момента да съм изпуснал някоя и друга мрежа, тъй като съм ги вадил по-скоро ръчно - whois на даден gov сайт, проверка в RIPE / bgp.he.net и grep за bulgarian government и подобни string–ове . Или ако има нещо, което можем да изкараме или cross-нем допълнително с ip.ludost.net?