diff options
author | Yunchih Chen <yunchih.cat@gmail.com> | 2018-12-07 22:02:40 +0800 |
---|---|---|
committer | Yunchih Chen <yunchih.cat@gmail.com> | 2019-03-07 15:02:17 +0800 |
commit | 644b830057bcc29d960a89198d3709902a51b8fe (patch) | |
tree | f3c4ffa3bc9f8b3a2f53a34e2146da5588e34066 | |
parent | 5d07a9163a50c3bfd7365bafbab58c40bb6d9a59 (diff) | |
download | nfcollect-644b830057bcc29d960a89198d3709902a51b8fe.tar nfcollect-644b830057bcc29d960a89198d3709902a51b8fe.tar.gz nfcollect-644b830057bcc29d960a89198d3709902a51b8fe.tar.bz2 nfcollect-644b830057bcc29d960a89198d3709902a51b8fe.tar.lz nfcollect-644b830057bcc29d960a89198d3709902a51b8fe.tar.xz nfcollect-644b830057bcc29d960a89198d3709902a51b8fe.tar.zst nfcollect-644b830057bcc29d960a89198d3709902a51b8fe.zip |
Minor fix
-rw-r--r-- | bin/nfcollect.c | 10 | ||||
-rw-r--r-- | bin/nfextract.c | 40 | ||||
-rw-r--r-- | include/main.h | 3 | ||||
-rw-r--r-- | lib/sql.c | 2 |
4 files changed, 25 insertions, 30 deletions
diff --git a/bin/nfcollect.c b/bin/nfcollect.c index 35d1c34..16a4248 100644 --- a/bin/nfcollect.c +++ b/bin/nfcollect.c @@ -43,11 +43,11 @@ const char *help_text = "Options:\n" " -c --compression=<algo> compression algorithm to use (default: no " "compression)\n" - " -d --storage_file=<filename> sqlite database storage file\n" - " -h --help print this help\n" - " -g --nflog-group=<id> the group id to collect\n" - " -s --storage_size=<dirsize> log files maximum total size in MiB\n" - " -v --version print version information\n" + " -d --storage_file=<filename> sqlite database storage file\n" + " -h --help print this help\n" + " -g --nflog-group=<id> the group id to collect\n" + " -s --storage_size=<max DB size> maximum DB size in MiB\n" + " -v --version print version information\n" "\n"; static Netlink netlink_fd; diff --git a/bin/nfextract.c b/bin/nfextract.c index 1b14125..0ca112e 100644 --- a/bin/nfextract.c +++ b/bin/nfextract.c @@ -22,7 +22,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#define _XOPEN_SOURCE 700 // strptime +#define _XOPEN_SOURCE 700 // strptime #ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809 // strdup #endif @@ -50,9 +50,7 @@ #define DATE_FORMAT "%Y-%m-%d" #define DATE_FORMAT_FULL DATE_FORMAT " %H:%M" #define DATE_FORMAT_FULL2 DATE_FORMAT " %H:%M:%S" - -sem_t nfl_commit_queue; -uint16_t nfl_group_id; +#define DATE_FORMAT_OUTPUT DATE_FORMAT_FULL2 const char *help_text = "Usage: " PROG " [OPTION]\n" @@ -72,20 +70,6 @@ void sig_handler(int signo) { puts("Terminated due to SIGHUP ..."); } -static inline void format_entry(char *output, Entry *e) { - sprintf(output, - " " - "t=%ld\t" - "daddr=%s\t" - "proto=%s\t" - "uid=%d\t" - "sport=%d\t" - "dport=%d", - e->timestamp, inet_ntoa(e->daddr), - e->protocol == IPPROTO_TCP ? "TCP" : "UDP", e->uid, e->sport, - e->dport); -} - static void callback(const State *s, const Timerange *range) { int nr_entries = s->header->nr_entries; @@ -95,10 +79,24 @@ static void callback(const State *s, const Timerange *range) { while (i < nr_entries && s->store[i].timestamp < range->from) i++; - char output[1024]; + time_t last_t = 0; + char timestamp[20]; while (i < nr_entries && s->store[i].timestamp < range->until) { - format_entry(output, &s->store[i]); - puts((char *)output); + if (last_t != s->store[i].timestamp || !last_t) { + last_t = s->store[i].timestamp; + strftime(timestamp, 20, DATE_FORMAT_OUTPUT, localtime(&last_t)); + } + + printf(" " + "%-18s:\t" + "daddr=%-16s\t" + "proto=%s\t" + "uid=%d\t" + "sport=%d\t" + "dport=%d\n", + timestamp, inet_ntoa(s->store[i].daddr), + s->store[i].protocol == IPPROTO_TCP ? "TCP" : "UDP", + s->store[i].uid, s->store[i].sport, s->store[i].dport); ++i; } } diff --git a/include/main.h b/include/main.h index 4a860d4..8d5b628 100644 --- a/include/main.h +++ b/include/main.h @@ -44,8 +44,7 @@ #define g_sqlite_nr_fail_retry 8 #define g_gc_rate 16 // Default number of packets stored in a block -//#define g_max_nr_entries_default (256*1024) -#define g_max_nr_entries_default (1 * 128) +#define g_max_nr_entries_default (256*1024/24) #ifdef DEBUG_OUTPUT #define DEBUG_ON 1 #else @@ -111,8 +111,6 @@ int db_insert(sqlite3 *db, const Header *header, const Entry *entries) { for (int i = 0; i < 2;) { rc = db_prepare(db, insert_sql[i], "Can't insert data", &stmt[i]); if (i == 0) { - printf("Inserting raw data: %02X:%02X", ((char *)entries)[0], - ((char *)entries)[1]); sqlite3_bind_blob(stmt[i], 1, entries, header->raw_size, SQLITE_STATIC); } else { |