Îò÷èòàíå íà ìðåæîâè òðàôèê Network Traffic Accounting daemon Îïèñàíèå: Ïðîãðàìàòà ñëóæè çà îò÷èòàíå íà ìðåæîâè òðàôèê ìèíàâàù ïðåç âàøèÿò ðóòåð/ãåéòóåé. Áàçèðàíà å íà áèáëèîòåêàòà libpcap è ðàáîòè êàòî userspace äåìîí. Âúçìîæíîñòè çà ðàçäåëÿíå íà ìðåæîâèÿ òðàôèê íà 4 êàòåãîðèè: - ìåæäóíàðîäåí - ïèúðèíã - äèðåêòåí - ëîêàëåí Îò÷åòåíèÿ òðàôèê ñå ñúõðàíÿâà â áàçà äàííè êàòî çà ìîìåíòà ñå ïîääúðæàò MySQL è Oracle. Òúé êàòî èçïîëçâà libpcap çà ñúáèðàíå íà ìðåæîâàòà èíôîðìàöèÿ ïðîãðàìàòà ðàáîòè íà ñëåäíèòå (çà ìîìåíòà) îïåðàöèîííè ñèñòåìè: - Linux - FreeBSD - OpenBSD - Solaris Çà ñïåöèôè÷íà èíôîðìàöèÿ êàñàåùà îïðåäåëåíà îïåðàöèîííà ñèñòåìà ïðî÷åòåòå FAQ ôàéëà. Êàê ðàáîòè: Netacct ðàáîòè ïî ïîäîáèå íà sniffer òîåñò ñëåäè öåëèÿò òðàôèê ìèíàâàù ïðåä çàäàäåíèòå îò êîíôèãóðàöèîííèÿ ôàéë èíòåðôåéñè. Äàííèòå ñå ñúáèðàò â ïàìåòòà è ïåðèîäè÷íî ñå çàïèñâàò â áàçàòà äàííè. Ïåðèîäà íà çàïèñâàíå íà äàííèòå ïî ïîäðàçáèðàíå å 300 ñåêóíäè (âèæ îïöèÿ flush â êîíôèãóðàöèîííèÿ ôàéë). Êîíôèãóðàöèÿ: Çà îò÷èòàíå íà ìðåæîâè òðàôèê íàé-óäà÷íàòà êîíôèãóðàöèÿ å îò÷èòàùàòà ïðîãðàìà äà ðàáîòè íà Âàøèÿ ìàðøðóòèçàòîð. Ïðîãðàìàòà èìà 2 êîíôèãóðàöèîííè ôàéëà êàòî ïî äîëó ùå áúäàò ðàçÿñíåíè ïî âàæíèòå îïöèè: naccttab -------- sniff - ìîæå äà çàåìà ñòîéíîñòè 0 èëè 1 0 - ìðåæîâèòå èíòåðôåéñè íå ñå ïîñòàâÿò â ðåæèì íà ïîäñëóøâàíå 1 - ìðåæîâèòå èíòåðôåéñè ñå ïîñòàâÿò â ðåæèì íà ïîäñëóøâàíå database - ñòîéíîñòè mysql èëè oracle mysql - ðàáîòà ñ MySQL áàçà äàííè (ñëåâàò ñïåöèôè÷íè îïöèè çà mysql): mysql_user - ïîòðåáèòåëñêî èìå çà âðúçêà ñ áàçàòà äàííè mysql_pass - ïàðîëà çà áàçàòà äàííè mysql_host - îáèêíîâåííî localhost íî ìîæå äà ðàáîòè è ñ îòäàëå÷åíà áàçà áàçà äàííè mysql_port - àêî MySQL-à å íà ñúùàòàòà ìàøèíà ïðåïîðà÷èòåëíî å ïîðòà äà å ðàâåí íà 0 êîåòî îçíà÷àâà ÷å âðúçêàòà ùå ñå ïðàâè ïðåç ñîêåò. mysql_database - èìåòî íà áàçàòà â êîÿòî ùå ñå ñúõðàíÿâàò äàííèòå oracle - ðàáîòà ñ ORACLE áàçà äàííè oracle_connect - oracle_home - /ïúòÿ/äî/îðàêúë/äèðåêòîðèÿòà compactnet - Ñ òàçè îïöèÿ ñå îïèñâàò ìðåæèòå íà êîèòî èñêàòå äà ñå çàñè÷à òðàôèêà. Ôîðìàòúò íà çàäàâàíå å: compactnet ìðåæîâè_àäðåñ ìðåæîâà_ìàñêà (example: compactnet 192.168.1.0 255.255.255.0). Îïöèÿòà ìîæå äà áúäå îïèñàíà â êîíôèãóðàöèîííèÿ ôàéë ïîâå÷å îò åäèí ïúò. ournet - òàçè îïöèÿ å çà çàñè÷àíåòî íà ëîêàëåí òðàôèê èëè ïî äðóã íà÷èí êàçàíî òðàôèê ìåæäó 2 èíòåðôéñà íà ðóòåðà.  ïîâå÷åòî ñëó÷àè ournet ñúâïàäà ñ compactnet îïöèèòå. Ïîâå÷å èíôîðìàöèÿ â ïðèìåðíèòå êîíôèãóðàöèè îïèñàíè ïî äîëó. direct_peer - (ìðåæîâè_àäðåñ ìðåæîâà_ìàñêà) òàçè îïöèÿ ìîæå äà ÿ ïîëçâàòå ïðè íàëè÷èå íà äîïàëíèòåëíà ëîêàëíà âðúçêà êúì äðóã äîñòàâ÷èê ïðèìåðíî backup ëèíèÿ èëè èìàòå ëîêàëíî ftp êîèòî òðàôèê èñêàòå äà îò÷èòàòå îòäåëíî.  îáùè ëèíèè òîâà ñå èçïîëçâà â ðåäêè ñëó÷àé. Çàáåëåæêà: îïöèÿòà òðÿáâà äà ïðèñúñòâà ïîíå âåäíúæ â êîíôèãóðàöèîííèÿ ôàéë. Àêî íå èñêàòå äà çàñè÷àòå òàêúâ òèï òðàôèê íàïèøåòå ïðèìåðíî: direct_peer 1.1.1.1 255.255.255.255 flush - Èíòåðâàë ïðåç êîéòî ñå çàïèñâàò äàííèòå â áàçàòà (â ñåêóíäè) device - ìðåæîâè èíòåðôåéñ îò êîéòî ùå ñå ñúáèðà òðàôèê èíôîðìàöèÿòà. Ìîæå äà ïðèñúñòâà ïîâå÷å îò 1 ïúò â êîíôèãóðàöèîííèÿ ôàéë. Ïðèìåðè (Linux): device eth1 device eth2 Ïðèìåðè (*BSD): device rtk0 device sk0 ignorenet - (ìðåæîâè_àäðåñ ìðåæîâà_ìàñêà) àêî èñêàòå äà èãíîðèðàòå òðàôèêà îò íÿêîÿ îïðåäåëåíà ìðåæà èçïîëçâàéòå òàçè îïöèÿ. Îïöèÿòà ìîæå äà ïðèñúñòâà ïîâå÷å îò åäèí ïúò â êîíôèãóðàöèîííèÿ ôàéë. (Ñàìî çà íàïðåäíàëè ïîòðåáèòåëè) pidfile - /ïúò/äî/netacct.pid ôàéëà. Äàâà âè âúçìîæíîñò äà ïóñíåòå äâà èëè ïîâå÷å ïðîöåñà íà ïðîãðàìàòà íà åäíà è ñúùà ìàøèíà. errdelay - (â ïúòè) òàçè îïöèÿ âè ïîçâîëÿâà äà êîíôèãóðèðàòå âðåìåçàêúñíåíèåòî íà îïèòà çà ïèñàíå â áàçàòà äàííè ïðè ïîÿâàòà íà ãðåøêà. Àêî âúçíèêíå ãðåøêà ïðè îïèò çà ïèñàíå â áàçàòà äàííè òîãàâà netacct ùå èç÷àêà flush * errdelay âðåìå ïðåäè ñëåäâàùèÿ îïèò çà ïèñàíå. Òîåñò àêî flush = 300 è errdelay = 3 òî ïðè ãðåøêà ñëåäâàùèÿ îïèò ùå å ñëåä 900 ñåêóíäè. nacctpeering Ìðåæèòå çà òàêà íàðå÷åíèÿ ïèúðèíã ñà îòäåëåíè â îòäåëåí ôàéë çà óäîáñòâî òúé êàòî ìðåæèòå ìîãúò äà áúäàò îáíîâÿâàíè ïåðèîäè÷íî îò íÿêîé èíòåðíåò ñàéò èëè äà ñå èçâëè÷àò îò BGP. Killall -HUP nacctd ùå ïðåçàðåäè òîçè ôàéë â ïàìåòòà. Ôîðìàòúò å: ìðåæà/ìðåæîâà_ìàñêà èëè ìðåæà/èíâåðòèðàíà_ìàñêà Ïðèìåð: 195.187.245.0/255.255.255.0 èëè 195.187.245/24 Ïðèìåðè: Åòî íÿêîëêî ïðèìåðà íà êîíôèãóðàöèîííèÿ ôàéë çà íàé-÷åñòî ñðåùàíèòå ìðåæîâè êîíôèãóðàöèè: ÏÐÈÌÅÐ 1 eth0 - 62.73.87.1 netmask 255.255.255.252 eth1 - 192.168.1.0 255.255.255.0 eth2 - 10.0.0.0 255.255.255.0 eth2:0 - 10.10.10.0 255.255.255.0 òîåñò eth0 å default gateway-à íà eth1 èìàìå åäíà ìðåæà îò IP-òà à íà eth2 èìàìå 2 ìðåæè. Èñêàìå äà çàñè÷àìå òðàôèêà ñàìî íàìðåæàòà 10.10.10.0 ñ ìàñêà 255.255.255.0 Çàáåëåæêà: òóê ùå äàì ïðèìåð ñàìî ñ îñíîâíèòå êîíôèãóðàöèîííè íåùà êàòî âñè÷êî îñòàíàëî ñè îñòàâà ñúùîòî Çàáåëåæêà 2: IP àäðåñèòå êîèòî èçïîëçâàì çà ïðèìåðè ñà îò ÷àñòíè ìðåæè íî Âèå òðÿáâà äà ãè ðàçáèðàòå ïðîñòî êàòî ìðåæè è ñïîêîéíî ìîæå äà ãè çàìåíèòå ñ êîÿòî è äà å ðåàëíà ìðåæà. Âàæíîòî å äà ðàçáåðåòå ðàçïîëîæåíèåòî íà ìðåæèòå ïî èíòåðôåéñèòå è íà÷èíà íà îïèñâàíå â êîíôèãóðàöèîííèÿ ôàéë. naccttab: ---[cut]--- compactnet 10.10.10.0 255.255.255.0 ournet 10.10.10.0 255.255.255.0 ournet 10.0.0.0 255.255.255.0 ournet 192.168.1.0 255.255.255.0 direct_peer 1.1.1.1 255.255.255.255 device eth2 ignorenet 127.0.0.0 255.0.0.0 ---[cut]--- Ïîÿñíåíèÿ: èìàìå 3 ïúòè ournet îïöèÿòà êàêòî âèæäàòå çà äà ìîæå òðàôèêà ìåæäó: 10.10.10.0 <-> 10.0.0.0 10.10.10.0 <-> 192.168.1.0 äà áúäå îò÷åòåí êàòî ëîêàëåí çà device eth2 òàé êàòî òîâà âñå ïàê ñè å ôèçè÷åñêè èíòåðôåéñ libpcap îò÷èòà öåëèà òðàôèê ìèíàë ïðåç íåãî òàêà ÷å alias èíòåðôåéñèòå íå íè èíòåðåñóâàò. Êàêòî ñïîìåíàõ è ïî-ãîðå íå èñêàìå äà îò÷èòàìå direct_peer òðàôèê íî çà äà íå îñòàíå íåèíèöèàëèçèðàíà ïðîìåëíèâàòà îïèñâàìå IP-to 1.1.1.1 è íàêðàÿ èãíîðèðàìå âñè÷êèÿ òðàôèê êúì lo èíòåðôåéñà. ÏÐÈÌÅÐ 2 êîíôèãóðàöèÿòà å êàòî íà ÏÐÈÌÅÐ 1 íî èñêàìå äà îò÷èòàìå âñè÷êèÿ òðàôèê äî ÷àñòíèòå ìðåæè. Åòî êàê ùå ñå ïðîìåíè êîíôèãóðàöèÿòà: naccttab: ---[cut]--- compactnet 10.10.10.0 255.255.255.0 compactnet 10.0.0.0 255.255.255.0 compactnet 192.168.1.0 255.255.255.0 ournet 10.10.10.0 255.255.255.0 ournet 10.0.0.0 255.255.255.0 ournet 192.168.1.0 255.255.255.0 direct_peer 1.1.1.1 255.255.255.255 device eth1 device eth2 ignorenet 127.0.0.0 255.0.0.0 ---[cut]--- Ïîÿñíåíèÿ: Êàêòî çàáåëÿçâàòå äîáàâåíè ñà îùå 2 ðåäà compactnet è åäèí ðåä ñ device òúé êàòî 192.168.1.0 ñå íàìèðà íà äðóã ìðåæîâè èíòåðôåéñ. ÏÐÈÌÅÐ 3 eth0 - 62.73.87.1 netmask 255.255.255.252 eth1 - 192.168.1.0 255.255.255.0 eth1:0 - 192.168.20.0 255.255.255.248 eth2 - 10.0.0.0 255.255.255.0 eth2:0 - 10.10.10.0 255.255.255.0 òîåñò eth0 å default gateway-à íà eth1 èìàìå 2 åäíà ìðåæè îò IP-òà è íà eth2 èìàìå 2 ìðåæè. Èñêàìå äà çàñè÷àìå âñè÷êèÿ òðàôèê îñâåí íà ìðåæàòà 192.168.20.0 íà êîÿòî ñìå ñëîæèëè íÿêîëêî ëîêàëíè ñúðâúðà: 192.168.20.2 - ftp ñúðâúð 192.168.20.3 - game server 1 192.168.20.3 - game server 2 192.168.20.4 - game server 3 òîâà ñà ïðèìåðíè íåùà èäåÿòà å ÷å òðàôèêà êúì òåçè ñúðâúðè å ñàìî çà ëîêàëíè êëèåíòè è íå ñå çàïëàùà èëè äà ðå÷åì ñå çàïëàùà ïî ìíîãî íèñêà òàðèôà íî âñå ïàê èñêàìå äà çàñè÷àìå êîè êîëêî òðàôèê ïðàâè îò áåçïëàòíèÿ. Óäîáíî å çà îòñÿâàíå íà êëèåíòèòå êîèòî ïðàâÿò ìíîãî ëîêàëåí è (ïî÷òè) íèêàêúâ ðåàëåí òðàôèê. Åòî è êîíôèãóðàöèÿòà: naccttab: ---[cut]--- compactnet 10.10.10.0 255.255.255.0 compactnet 10.0.0.0 255.255.255.0 compactnet 192.168.1.0 255.255.255.0 ournet 10.10.10.0 255.255.255.0 ournet 10.0.0.0 255.255.255.0 ournet 192.168.1.0 255.255.255.0 direct_peer 192.168.20.0 255.255.255.0 device eth1 device eth2 ignorenet 127.0.0.0 255.0.0.0 ---[cut]--- Êàêòî çàáåëÿçâàòå åäèíñòâåíàòà ðàçëèêà å ÷å ìðåæàòà ñ game ñúðâúðèòå å ñëîæåíà â direct_peer è òðàôèêà êúì íåÿ ùå ñå çàñè÷à â ãðàôà äèðåêòåí òðàôèê. Ìðåæàòà ÍÅ ïðèñúñòâà â compactnet çàùîòî ùå çàñú÷àìå òðàôèê _ÎÒ_ ip àäðåñèòå â compactnet _ÊÚÌ_ ip àäðåñèòå â direct_peer. ÏÐÈÌÅÐ 4 Êîíôèãóðàöèÿ ïðè ïîëçâàíåòî íà ïðîêñè ñúðâúð ÂÀÆÍÎ: ïðîãðàìàòà ùå îò÷èòà ïðàâèëíî ÑÀÌÎ àêî ïðîêñèòî å íàñòðîåíî äà ðàáîòè êàòî TRANSPARENT proxy.  ïðîòèâåí ñëó÷àé òúé êàòî öåëèÿ òðàôèê ìèíàâà ïðåç íåãî (íà ïîòðåáèòåëÿ ñå ïðàâÿò íàñòðîéêè íà áðàóçúðà) âèíàãè èëè source ip èëè destination ip å ïðîêñè ñúðâúðà íÿìà êàê äà ñå ðàçãðàíè÷è âèäà òðàôèê. Òðàôèêà ïàê ÷å å îò÷åòåí ïðàâèëíî íî âñè÷êèÿ ùå ïîïàäíå èëè â ìåæäóíàðîäåí èëè â ïèúðèíã èëè â äèðåêò. Çàòîâà óäà÷íîòî ðåøåíèå å íà ïîòðåáèòåëÿ äà íå ñå ïðàâÿò íèêàêâè íàñòðîéêè à òðàôèêà äà ñå ïðåíàñî÷âà ñ iptables (ipf,pf) êúì ip àäðåñà è ïîðòà íà ïðîêñèòî. eth0 - 62.73.87.1 netmask 255.255.255.252 eth1 - 192.168.1.0 255.255.255.0 ïðîêñè ñúðâúðà ðàáîòè íà ñúùàòà ìàøèíà íà ïîðò 3128 # iptables êîíôèãóðàöèÿ iptables -t nat -A PREROUTING -s 192.168.1.0/24 -d 0/0 -p tcp -m multiport --dport 80,21,8080 -j REDIRECT --to-port 3128 # pf êîíôèãóðàöèà rdr on fxp0 inet proto tcp to port 80 -> 10.10.10.10 port 8080 naccttab: ---[cut]--- compactnet 192.168.1.0 255.255.255.0 ournet 192.168.1.0 255.255.255.0 direct_peer 1.1.1.1 255.255.255.255 device eth1 ignorenet 127.0.0.0 255.0.0.0 ---[cut]--- Êàêòî çàáåëÿçâàòå êîíôèãóðàöèÿòà å ïðîñòà. Òåõíè÷åñêà èíôîðìàöèÿ:  áàçàòà ñå çàïèñâàò ñóìèðàíè ñòîèíîñòè çà ïîñëåäíèÿ ÷àñ çà âñÿêî IP òîåñò àêî èíòåðâàíà çà çàïèñâàíå å 300 ñåêóíäè netacct ùå ïðîâåðè äàëè èìà çàïèñ çà òåêóùèÿò ÷àñ è äàòà çà òîâà IP â áàçàòà. Àêî íÿìà ùå íàïðàâè INSERT â áàçàòà íîâî ïîëå ñ òåêóùàòà ñàáðàíà èíôîðìàöèÿ çà òðàôèêà à àêî èìà âå÷å òàêúâ çàïèñ ùå äîáàâè êúì òÿõ ñàáðàíàòà äî ìîìåíòà èíôîðìàöèÿ è ùå ÿ çàïèøå â áàçàòà. Åòî êàê èçãëåæäàò çàïèñèòå çà åäèí IP àäðåñ â áàçàòà. hour international peering direct local in out in out in out in out +-----+-------------------+-----------------+----------------+----------+ |08:00| 5,164,960 498,371 | 824,024 240,049 | 125,155 76,058 |260,853 0 | +-----+-------------------+-----------------+----------------+----------+ |09:00| 8,794,618 710,045 |1,354,427 413,418| 1,488 1,033 |326,594 0 | +-----+-------------------+-----------------+----------------+----------+ |10:00| 1,324,960 434,371 | 824,024 240,049 | 125,155 76,058 |260,853 0 | +-----+-------------------+-----------------+----------------+----------+ |11:00| 2,164,960 128,344 | 434,323 233,144 | 231,225 67,831 |120,742 0 | +-----+-------------------+-----------------+----------------+----------+ |12:00| 111,141 122,222 | 846,111 988,865 | 235,001 43,433 |311,143 0 | +-----+-------------------+-----------------+----------------+----------+ Åäèíñòâåíîòî îãðàíè÷åíèå çà êîëè÷åñòâîòî òðàôèê å ñëåäíàòà: êîëè÷åñòâîòî òðàôèê îò÷åòåí çà ïåðèîäà íà çàïèñâàíå (äà êàæåì 300 ñåêóíäè) íå òðÿáâà äà íàäõâúðëÿ 4 Ãèãàáàéòà. Àêî èìàòå òàêîâà ÓÆÀÑÍÎ íàòîâàðâàíå íà ìðåæàòà (ïðåäïîëàãàì ÷å å âúçìîæíî íà 10Gbit ìðåæè) ïðåïîðà÷èòåëíî å äà íàìàëèòå flush ñòîèíîñòòà íà ïî-ìàëêà. Èçïîëçâàíå (çà íàïðåäíàëè): Ìîæåòå äà êîíòðîëèðàòå netacct êàòî ìó ïîäàâàòå ñèãíàëè ñ êîìàíäàòà kill. Îñíîâíî ùå âè ñå íàëîæè äà ïîëçâàòå 3 ñèãíàëà è òå ñà: HUP - ïðåçàðåæäà nacctpeering ôàéëà. Óäîáåí ïðè ÷åñòî ïðîìÿíà íà peering ìðåæèòå TSTP - çàáðàíÿâà çàïèñâàíåòî íà òðàôèêà â áàçàòà äàííè CONT - ðàçðåøàâà çàïèñâàíåòî íà òðàôèêà â áàçàòà äàííè TSTP è CONT ñà óäîáíè ïðè úïãðåéä èëè àâòîìàòè÷íî àðõèâèðàíå íà SQL áàçèòå Ïðèìåð: #!/bin/sh killall -TSTP nacctd òóê_ñïèðàòå_sql_ñúðâúðà òóê_àðõèâèðàòå_êàêâîòî_èìà_çà_àðõèâèðàíå_èëè_úïãðåéä killall -CONT nacctd Îáíîâÿâàíå íà ïèúðèíã ôàéëà (çà Áúëãàðèÿ): #!/bin/bash lynx -dump http://www.nat.bg/look/AS/networks.html > /tmp/bgn cat /tmp/bgn |grep -v "/AS"|grep -v "255.255"|grep "]AS"|awk '{print $2}' > /usr/local/etc/nacctpeering rm -f /tmp/bgn killall -HUP nacctd  contrib/ äèðåêòîðèÿòà ìîæåòå äà íàìåðèòå ñïèñúöè ñ ìðåæè çà îïðåäåëåíè ñòðàíè êîèòî íàé-âåðîÿòíî íå ñà àêòóàëíè âå÷å. Àêî ìðåæèòå íà âàøàòà ñòðàíà ãè íÿìà òàì ìîæåòå äà ìè ãè èçïðàòèòå çà äà áúäàò äîáàâåíè. Îùå ïî òåõíè÷åñêà èíôîðìàöèÿ: Åòî êàê ïðîãðàìàòà ïðîâåðÿâà âñåêè åäèí ïàêåò â êîé òèï òðàôèê äà ïîïàäíå: 0. ïðîâåðÿâà äàëè src_ip èëè dst_ip íà ïàêåòà ñúâïàäà ñ íÿêîÿ îò ìðåæèòå â compactnet àêî íå òîçè ïàêåò ñå èãíîðèðà 1. ïðîâåðÿâà äàëè src_ip èëè dst_ip íà ïàêåòà ñúâïàäà ñ íÿêîÿ îò ìðåæèòå â our .. àêî äà òîãàâà ïàêåòà ñå çàïèñâà êàòî ëîêàëåí è ïðîäàëæàâà ïðîâåðêàòà ñúñ ñëåäâàùèÿ ïàêåò. 2. ïðîâåðÿâà äàëè src_ip èëè dst_ip íà ïàêåòà ñúâïàäà ñ íÿêîÿ îò ìðåæèòå â direct_peer .. àêî äà òîãàâà ïàêåòà ñå çàïèñâà êàòî äèðåêòåí è ïðîäàëæàâà ïðîâåðêàòà ñúñ ñëåäâàùèÿ ïàêåò. 3. ïðîâåðÿâà äàëè src_ip èëè dst_ip íà ïàêåòà ñúâïàäà ñ íÿêîÿ îò ìðåæèòå â nacctpeering ôàéëà .. àêî äà òîãàâà ïàêåòà ñå çàïèñâà êàòî ïèúðèíã è ïðîäàëæàâà ïðîâåðêàòà ñúñ ñëåäâàùèÿ ïàêåò. 4. àêî ïàêåòà íå å ïîïàäíàë â íèòî åäíà îò êàòåãîðèè îò 1 äî 3 ñå çàïèñâà êàòî ìåæäóíàðîäåí Íå ñïèðàèòå ïðîãðàìàòà ñ kill -9 ñèãíàëà çàùîòî ùå çàãóáèòå äàííèòå îò÷åòåíè îò ïîñëåäíîòî çàïèñâàíå â áàçàòà äî ìîìåíòà íà kill. Íàé-äîáðå å äà ñå ñïèðà ñ -TERM ñèãíàëà.  òîçè ñëó÷àé àâòîìàòè÷íî ùå áúäàò çàïèñàíè ïîñëåäíèòå îò÷åòåíè äàííè â áàçàòà ïðåäè ïðîãðàìàòà äà áúäå ñïðÿíà. Nikolay Hristov <geroy@stemo.bg>, <geroy@users.sourceforge.net>