Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Технические вопросы по PtokaX _ !stats OS:

Автор: freman_ 19.2.2012, 2:07

Кто сталкивался с такой задачей:
Изменить название операционной системы (которую выводит !stats)



Uptime: 0 days, 0 hours, 46 minutes
Version: PtokaX DC Hub 0.4.2.0 built on Feb 19 2011 17:31:38

OS: FreeBSD 9.0-RELEASE (i386)

Users (Max/Actual Peak (Max Peak)/Logged): 250 / 1 (2) / 1
Users shared size: 24035434470 Bytes / 22.38 GB

Автор: Артём 19.2.2012, 2:11

freman_, а смысл?

Автор: Saymon21 19.2.2012, 2:18

Артём, А зачем кому-то кроме админа знать, под какой операционной системой, а тем более версией стоит хаб? Админ и без птохи знает.

Убрать вообще, можно в исходниках, в файле HubCommands.cpp.

Автор: freman_ 19.2.2012, 2:23

Saymon21, совершенно верно подмечено!

я именно из этих побуждений и задал вопрос.


Благодарствую Saymon21 !

Автор: Saymon21 19.2.2012, 2:31

Я не спец в си, но как-то так:

Раскрывающийся текст
Код
            //Hub-Commands: !stat !stats
#ifdef _WIN32
            if((dlen == 4 && strnicmp(sCommand+1, "tat", 3) == 0) || (dlen == 5 && strnicmp(sCommand+1, "tats", 4) == 0)) {
#else
            if((dlen == 4 && strncasecmp(sCommand+1, "tat", 3) == 0) || (dlen == 5 && strncasecmp(sCommand+1, "tats", 4) == 0)) {
#endif
                int imsglen = CheckFromPm(curUser, fromPM);

                int iret = sprintf(msg+imsglen, "<%s>", SettingManager->sPreTexts[SetMan::SETPRETXT_HUB_SEC]);
                imsglen += iret;
                if(CheckSprintf1(iret, imsglen, 1024, "HubCommands::DoCommand391") == false) {
                    return true;
                }

                string Statinfo(msg, imsglen);

                Statinfo+= NEW_LINE_CHARS "------------------------------------------------------------" NEW_LINE_CHARS;
                Statinfo+="Current stats:" NEW_LINE_CHARS;
                Statinfo+="------------------------------------------------------------" NEW_LINE_CHARS;
                Statinfo+="Uptime: "+string(iDays)+" days, "+string(iHours) + " hours, " + string(iMins) + " minutes" NEW_LINE_CHARS;

#ifdef _WIN32
    #ifndef _WIN64
                Statinfo+="Version: PtokaX DC Hub "+string(PtokaXVersionString)+" built on "+__DATE__+" "+__TIME__+"\r\n";
    #else
                Statinfo+="Version: PtokaX DC Hub "+string(PtokaXVersionString)+" x64 built on "+__DATE__+" "+__TIME__+"\r\n";
    #endif
            //    Statinfo+="OS: "+sOs+"\r\n"; Тут
#else
                Statinfo+="Version: PtokaX DC Hub "+string(PtokaXVersionString)+" built on "+__DATE__+" "+__TIME__+"\n";
    /* И тут. Просто таки закоментировать
                utsname osname;
                if(uname(&osname) == 0) {
                    //Statinfo+="OS: "+string(osname.sysname)+" "+string(osname.release)+" ("+string(osname.machine)+")\n";
                }*/
#endif
                Statinfo+="Users (Max/Actual Peak (Max Peak)/Logged): "+string(SettingManager->iShorts[SETSHORT_MAX_USERS])+" / "+string(ui32Peak)+" ("+

Попробовал собрать на дебиане и запустить, вроде всё норм.

Автор: Артём 19.2.2012, 2:38

Saymon21, если незачем знать операционнку, то и незачем видеть всё остальное, что под этой командой, то есть убрать возможность просмотра юзерам.

Автор: Saymon21 19.2.2012, 2:42

Артём, А другая инфа порой может быть и полезна... Но а перехватывать скриптами, заменять на что-то другое, или вовсе убрать в исходниках никто не мешает. ;)

Автор: Артём 19.2.2012, 2:44

Saymon21, юзерам (какая польза от того что юзер увидет какая нагрузка на комп или кол-во отосланных/принятых команд хабу и тп)? нечего им там что-то смотреть, ничего полезного для них там нет.

Автор: Saymon21 19.2.2012, 2:48

Скрывать название операционной системы и версии следовало бы из-за некоторых соображений безопасности. Про паранойю не напоминать!!!
А в знании некоторой статистики сервера нет ничего зловредного.

Автор: Артём 19.2.2012, 2:59

Версии хаба или ОС?

Цитата
А в знании некоторой статистики сервера нет ничего зловредного.

ничего полезного там не может быть для юзера!
Команда эта нужна только админу, ИМХО, смотреть нагрузку и тп, но не юзерам.

Автор: freman_ 19.2.2012, 3:09

Saymon21, я попробовал изменить содержание на :

#ifdef _WIN32
Statinfo+="OS: Windows XP SP 3";
#else

struct utsname osname;
if(uname(&osname) >= 0) {
Statinfo+="OS: Windows XP SP 3";
}

только вот одно но, при выводе (!stats) текст с Users перескочил на строчку вверх

Uptime: 0 days, 0 hours, 0 minutes
Version: PtokaX DC Hub 0.4.2.0 built on Feb 19 2012 04:05:49
OS: Windows XP SP 3Users (Max/Actual Peak (Max Peak)/Logged): 250 / 1 (2) / 1
Users shared size: 24035434470 Bytes / 22.38 GB

Автор: Saymon21 19.2.2012, 3:12

Нужно поставить символ переноса строки. Вот так:

Код
Statinfo+="OS: "Windows XP SP 3\n";

Автор: freman_ 19.2.2012, 3:26

Saymon21, еще раз благодарю Вас за активное участие в столь позднее время!

Задача реализована.
ЗЫ: у хаба теперь +1 к взломостойкости

Автор: mariner 19.2.2012, 10:03

Цитата
ЗЫ: у хаба теперь +1 к взломостойкости

Читаю и диву даюсь. Это не больше чем "прикол". Реальной же защиты он не даст по одной простой причине. Тот, кому надо, может просто просканировать тебя и понять, что у тебя не венда.

Автор: Nickolya 19.2.2012, 14:29

теперь на основании этой инфы придут злые дядьки и попросят у тебя лицензию на "Windows XP SP 3" bad_smile.gif
были еще экземпляры, менявшие PtokaX на VerliHub, но это тоже палится на раз и выглядит тоже мягко говоря "странно"...

Автор: Saymon21 19.2.2012, 14:36

А дядьки сильно офигеют, когда увидят что там бзди
палится на раз - исходники есть, можно найти все места где там это палится и изменить, только надо иметь представление о протоколе nmdc и хотябы знание азов в си ;)

Кстати, а ведь никсы палятся не тока в команде !stats. Есть ещё одна фича. Кто не в курсе, поглядите придельно внимательно в отладчике в клиенте. Заодно поймёте, как дцхаблист.ру понимает, под никсами или под вендой стоит хаб. ;)

Автор: KT315 21.2.2012, 0:43

Я вообще не понял зачем это надо big_smile.gif !stats'ом практически не пользуется никто. Полезной информации там только та, что нужна. Или топикстартер хотел сказать что FreeBSD решето? Спасибо, мы знали об этом.

Цитата
поглядите придельно внимательно в отладчике в клиенте

Достаточно телнета ;)
$Lock EXTENDEDPROTOCOLdcjN5cTeo_8o3DMghBGnVAgyh3Jnix Pk=PtokaX|
$Lock EXTENDEDPROTOCOLrK[iaaq[CJD\xSLNOeWU`O=K\E;win Pk=PtokaX|

Автор: KCAHDEP 23.12.2012, 22:54

А полностью расшифровать можете построчно?
------------------------------------------------------------
Current stats:
------------------------------------------------------------
Uptime: 6 days, 21 hours, 19 minutes
Version: PtokaX DC Hub 0.4.1.2 built on Dec 14 2010 20:55:02
OS: Linux 2.6.32-042stab065.3 (i686)
Users (Max/Actual Peak (Max Peak)/Logged): 20000 / 519 (519) / 347
Users shared size: 205338729217583 Bytes / 186.75 TB
Chat messages: 6897 x
Unknown commands: 269 x
PM commands: 3336 x
Key commands: 84416 x
Supports commands: 84540 x
MyINFO commands: 570077 x
ValidateNick commands: 84370 x
GetINFO commands: 0 x
Password commands: 6733 x
Version commands: 74203 x
GetNickList commands: 74313 x
Search commands: 990661 x (0 x)
SR commands: 288650 x
CTM commands: 1284167 x (0 x)
RevCTM commands: 727603 x
BotINFO commands: 211 x
Close commands: 0 x
------------------------------------------------------------
CPU usage (60 sec avg): 0.40%
CPU time: 4:23:00
Mem usage (Peak): 186724 kB (223468 kB)
VM size (Peak): 244216 kB (290424 kB)
Stack size / Libs size: 88 kB / 9364 kB
------------------------------------------------------------
SendRests (Peak): 2 (116)
RecvRests (Peak): 0 (18)
Compression saved: 3.78 GB (344)
Data sent: 30.52 GB --- например это за какой период?
Data received: 261.88 MB
Tx (60 sec avg): 156 B/s (27.71 kB/s)
Rx (60 sec avg): 218 B/s (474 B/s)
Более всего интересует потребление трафика, так как при таком количестве народа статистика vds рисует 10-12 гигов в сутки.

Автор: Aлзим 24.12.2012, 0:12

Цитата(KCAHDEP @ 23.12.2012, 23:54) *
Compression saved: 3.78 GB (344)
Data sent: 30.52 GB --- например это за какой период?
Data received: 261.88 MB
Tx (60 sec avg): 156 B/s (27.71 kB/s)
Rx (60 sec avg): 218 B/s (474 B/s)
Более всего интересует потребление трафика, так как при таком количестве народа статистика vds рисует 10-12 гигов в сутки.

Попробую предположить, что это период с момента последнего запуска хаба.
Тоже самое и со скоростью. Средняя - с момента последнего запуска хаба, а другая - момент снятия статистики.