Kategorie szkoleń | Egzaminy | Kontakt
  • 2
  • 2
  • 198


Chciałem zrobić proste logowanie połączeń TCP:

iptables -A INPUT -p tcp -v -j LOG --log-prefix "IN: "

Wynik logowania był mniej więcej taki:

Jan 3 00:51:05 hostname kernel: [3800708.030810] INPUT: IN=eth0 OUT= MAC= SRC=1.2.3.4 DST=4.3.2.1 LEN=104 TOS=0x00 PREC=0x00 TTL=118 ID=14836 DF PROTO=TCP SPT=51311 DPT=22 WINDOW=61 RES=0x00 ACK PSH URGP=0

Czy istnieje możliwość stworzenia własnego "wzoru", według którego ma być tworzony log?
Chciałbym mieć logi w postaci:

Jan 3 00:51:05 SRC=1.2.3.4 SPT=51311 DPT=22
user00123123
  • Zapytał
  • @ user00123123 | 31.03.2015
    • laureat
    • 21
    • 18
    • 77
Zaloguj się aby zadać pytanie
Pokrewne

Odpowiedzi (2)

  • 9

LOG nie pozwala na zmianę formatu logu. Ale możesz napisać własny moduł do netfiltra, który będzie na to pozwalał.

  • Odpowiedział
  • @ | 31.03.2015
  • TRENER MODERATOR ALTKOM AKADEMII
  • 9

Zacząłbym od tego by nie używać LOG (który wrzuca logi do logu jądra (kernel ring buffer), a np uloga. Tam poprzez cel NFLOG (albo w starszych wersjach ULOG) kierujesz logi z iptables do aplikacji.

Następnie na poziomie aplikacji (ulogd2 np) - możesz skierować je do różnych celów - mysql, sqlite, pliki pcapa albo też tekstowe.

Jeżeli zależy Ci na logowaniu tylko konkretnych informacji - użyłbym do tego celu baz sqlite. Są lekkie, łatwe, wydajne, możesz też w prosty sposób utworzyć tabelę tylko z danymi jakie chcesz logować.

Andrzej_Dopierała
  • Odpowiedział
  • @ Andrzej_Dopierała | 31.03.2015
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169