Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam
Zainstalowałem ulogd z suportem mysql, i nie bardzo rozumiem - jak go namówić do większej dokładności, bo na razie loguje jakieś 30% informacji.
Tu jest przykład: [b][url]http://wklej.org/id/288810/[/url][/b]
W bazie nie lądują nawet informacje o portach docelowych.
mój konfig:
# Example configuration for ulogd # $Id: ulogd.conf.in 5267 2005-02-19 21:33:43Z laforge $ # [global] ###################################################################### # GLOBAL OPTIONS ###################################################################### # netlink multicast group (the same as the iptables --ulog-nlgroup param) nlgroup=7 # logfile for status messages logfile="/var/log/ulog/ulogd.log" # loglevel: debug(1), info(3), notice(5), error(7) or fatal(8) loglevel=1 # socket receive buffer size (should be at least the size of the # in-kernel buffer (ipt_ULOG.o 'nlbufsiz' parameter) rmem=131071 # libipulog/ulogd receive buffer size, should be > rmem bufsize=150000 ###################################################################### # PLUGIN OPTIONS ###################################################################### # We have to configure and load all the plugins we want to use # general rules: # 1. load the plugins _first_ from the global section # 2. options for each plugin in seperate section below # # ulogd_BASE.so - interpreter plugin for basic IPv4 header fields # you will always need this plugin="/usr/lib/ulogd/ulogd_BASE.so" # output plugins. plugin="/usr/lib/ulogd/ulogd_LOGEMU.so" plugin="/usr/lib/ulogd/ulogd_OPRINT.so" plugin="/usr/lib/ulogd/ulogd_MYSQL.so" #plugin="/usr/lib/ulogd/ulogd_PGSQL.so" #plugin="/usr/lib/ulogd/ulogd_SQLITE3.so" #plugin="/usr/lib/ulogd/ulogd_PCAP.so" [LOGEMU] file="/var/log/ulog/syslogemu.log" sync=1 [OPRINT] file="/var/log/ulog/pktlog.log" [MYSQL] table="ulog" pass="HASŁO" user="ulog" db="ulog" host="localhost"
Logowanie taką regułą (powinna logować komplet informacji):
ULOG all -- 0.0.0.0/0 0.0.0.0/0 ULOG copy_range 64 nlgroup 7 prefix `ulogd-działa' queue_threshold 25
Natomiast [b]nulog[/b] pokazuje tylko liczbę wpisów do bazy, i żadnych inych informacji (instalowany z paczki [b]nulog_2.0.dfsg.1-1_all.deb[/b])
Wersja ulogd: [b]ulogd_1.24-2.1_i386.deb[/b] -Debian Lenny
[b]ulogd-mysql_1.24-2.1_i386.deb[/b] -j.w.
Firewall zawsze w logach podaje porty i szczegóły pakietu.
A w bazie ani śladu tych informacji.
Czy Macie jakieś sugestie?
Pozdrawiam
;)
Ostatnio edytowany przez Jacekalex (2010-03-02 06:38:03)
Offline
Nie wiem czy zauważyłeś że bo dołożeniu nuloga, ulog nie zapisuje ci adresu IP "ip_daddr " tylko dziwne liczby.
Testowałem to i nulog zmienia wartość tabeli nie pamiętam już na jakie i nigdy nie udało mi się tego połączyć razem i nie dostałem nigdzie żadnych informacji.
Offline
Kaju007: To są adresy IP ale zapisane jako liczba, np.
1407589149 = 0x53E61B1D = 83.230.27.29
Offline
To ok ale nulog nie pokazywał mi adresów tylko te liczby więc jak zmienia wartości tabeli to powinien przy wyświetlaniu pokazać prawidłowy adres sorry ale tyle siedziałem i nigdzie nie otrzymałem pomocy wiec wykasowałem to
Offline
O ile pamietam o nulog w php byl pisany i mozesz lekko w nim grzebnac by przeliczal przy uzyciu funkcji [b]long2ip[/b]
$ip = long2ip(1407589149);
Nie wiem jak skompilowany jest ulogd w debianie ale mozna sprubowac zmienic typ rekordu w bazie (baza dla ip pisanych w 4 oktetach powinna byc gdzies z dokuetacja)
Offline
[quote=BiExi]O ile pamietam o nulog w php byl pisany i mozesz lekko w nim grzebnac by przeliczal przy uzyciu funkcji [b]long2ip[/b]
$ip = long2ip(1407589149);
Nie wiem jak skompilowany jest ulogd w debianie ale mozna sprubowac zmienic typ rekordu w bazie (baza dla ip pisanych w 4 oktetach powinna byc gdzies z dokuetacja)[/quote]
Po co się męczyć?
skoro mysql posiada funkcję która automatycznie zamienia INTip na IP i odwrotnie:
IP na INTip
INSERT INTO `tabela` VALUES (INET_ATON('192.168.0.1'));
INTip na IP:
SELECT INET_NTOA(`pole`) FROM `tabela`;
tutaj więcej informacji:
[url]http://marines.jogger.pl/2007/01/07/jak-przechowac-adres-ip-w-bazie-danych-mysql/[/url]
Offline
Nie nie da rady zmienić tabeli bo wtedy nulog nic nie pokaże tylko błąd :) testowałem juz to
Offline
tabele można zmienić w zapytaniu na wyjściu - w funkcji select, ale to wymaga grzebania w kodzie nuloga, lub inny frontend dla uloga.
Natomiast, szukanie w kodzie istniejącego programu, nie wiem, czy latwiej nie byłoby naskrobać skryptu w php czy perlu- który wyciągnie cot rzeba z bazy i wyświetli.
Jak się troche podciągne w perlu, to spróbuję pokombinować ze skryptem cgi do tego.
A na razie sie nie pali (przynajmniej u mnie).
Ponadto kiedyś się bawilem bashem, i skombinowłem coś takiego: kiedy przychodzilo trzecie wywolanie z określonego IP (trik z ipt_recent) informacja pojawiała się w logach - z tamtąd [b]tail -f | awk ... | xargs skrypt[/b]
a w skrypcie stało:
#!/bin/bash srcsip=$1 dport=$2 time=$3 ..... mysql -u user phasło -e "insert into.....
i nawet to diabelstwo działało, z tym że nie umiałem otworzyć stałego polączenia z bazą, a logowanie co chwila -to nie było to co trzeba.
Potem próbowałem zczytywać logi grepem do bazy - też chodziło.
Może kiedyś coś takiego spłodzę :))) (tamten skrypt się gdzieś zapodział)
[b]Mam jedno pytanie: jak odkodować znaczniki czasowe w bazie uloga?[/b]
Ale na razie mam problem z perlem i wyrażeniami regularnymi, i to problem, wobec którego ludzie mają dużo do napisania, ale nikt sensownej i konkretnej odpowiedzi (przynajmiej na razie).
Pozdrawiam
Ostatnio edytowany przez Jacekalex (2010-03-09 08:07:32)
Offline
Szklana kula mówi że to timestamp jest... użyj date ;)
Offline
[quote=Jacekalex][b]Mam jedno pytanie: jak odkodować znaczniki czasowe w bazie uloga?[/b][/quote]
bash:
date -d @1256571985
php:
$unix_time = 1256571985; echo date("Y-m-d H:i:s",$unix_time)
Ostatnio edytowany przez lopezpb (2010-03-08 20:37:22)
Offline
Dzieki za info pokombinuję z tymi informacjami, i chyba z nuloga przep;rowadzę się na skrypciarstwo :))))
Bo widzę, ze te programy logujące są doskonałe, jak działają prawidłowo i bez błędów - czyli co najmniej - nie zawsze :))))
Pozdrawiam
;)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00102 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.147.51.75' WHERE u.id=1 |
0.00064 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.147.51.75', 1732608759) |
0.00044 | SELECT * FROM punbb_online WHERE logged<1732608459 |
0.00038 | SELECT topic_id FROM punbb_posts WHERE id=141905 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=16239 ORDER BY posted |
0.00047 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=16239 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00098 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=16239 ORDER BY p.id LIMIT 0,25 |
0.00109 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=16239 |
Total query time: 0.00528 s |