""
This commit is contained in:
161
Makefile
161
Makefile
@@ -43,164 +43,3 @@ nodepend:
|
|||||||
rm -f depend
|
rm -f depend
|
||||||
|
|
||||||
# DO NOT DELETE
|
# DO NOT DELETE
|
||||||
|
|
||||||
iftop.o: /usr/include/pcap/pcap.h /usr/include/sys/types.h
|
|
||||||
iftop.o: /usr/include/features.h /usr/include/sys/cdefs.h
|
|
||||||
iftop.o: /usr/include/gnu/stubs.h /usr/include/bits/types.h
|
|
||||||
iftop.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
|
||||||
iftop.o: /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h
|
|
||||||
iftop.o: /usr/include/sys/select.h /usr/include/bits/select.h
|
|
||||||
iftop.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
|
|
||||||
iftop.o: /usr/include/sys/time.h /usr/include/bits/time.h
|
|
||||||
iftop.o: /usr/include/pcap/net/bpf.h /usr/include/stdio.h
|
|
||||||
iftop.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
|
||||||
iftop.o: /usr/include/libio.h /usr/include/_G_config.h
|
|
||||||
iftop.o: /usr/include/bits/stdio_lim.h /usr/include/stdlib.h
|
|
||||||
iftop.o: /usr/include/alloca.h /usr/include/net/ethernet.h
|
|
||||||
iftop.o: /usr/include/linux/if_ether.h /usr/include/netinet/ip.h
|
|
||||||
iftop.o: /usr/include/netinet/in.h /usr/include/limits.h
|
|
||||||
iftop.o: /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h
|
|
||||||
iftop.o: /usr/include/linux/limits.h /usr/include/bits/posix2_lim.h
|
|
||||||
iftop.o: /usr/include/stdint.h /usr/include/bits/wordsize.h
|
|
||||||
iftop.o: /usr/include/bits/socket.h /usr/include/bits/sockaddr.h
|
|
||||||
iftop.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
|
|
||||||
iftop.o: /usr/include/bits/in.h /usr/include/bits/byteswap.h
|
|
||||||
iftop.o: /usr/include/pthread.h /usr/include/sched.h
|
|
||||||
iftop.o: /usr/include/bits/sched.h /usr/include/signal.h
|
|
||||||
iftop.o: /usr/include/bits/pthreadtypes.h /usr/include/bits/sigthread.h
|
|
||||||
iftop.o: /usr/include/curses.h /usr/include/ncurses/unctrl.h
|
|
||||||
iftop.o: /usr/include/ncurses/curses.h /usr/include/string.h iftop.h
|
|
||||||
iftop.o: addr_hash.h /usr/include/sys/socket.h /usr/include/arpa/inet.h
|
|
||||||
iftop.o: hash.h resolver.h ui.h
|
|
||||||
addr_hash.o: /usr/include/stdio.h /usr/include/features.h
|
|
||||||
addr_hash.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
|
||||||
addr_hash.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
|
||||||
addr_hash.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
|
||||||
addr_hash.o: /usr/include/bits/types.h /usr/include/libio.h
|
|
||||||
addr_hash.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
|
|
||||||
addr_hash.o: /usr/include/stdlib.h /usr/include/sys/types.h
|
|
||||||
addr_hash.o: /usr/include/time.h /usr/include/endian.h
|
|
||||||
addr_hash.o: /usr/include/bits/endian.h /usr/include/sys/select.h
|
|
||||||
addr_hash.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
|
|
||||||
addr_hash.o: /usr/include/sys/sysmacros.h /usr/include/alloca.h addr_hash.h
|
|
||||||
addr_hash.o: /usr/include/sys/socket.h /usr/include/bits/socket.h
|
|
||||||
addr_hash.o: /usr/include/limits.h /usr/include/bits/posix1_lim.h
|
|
||||||
addr_hash.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
|
|
||||||
addr_hash.o: /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h
|
|
||||||
addr_hash.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
|
|
||||||
addr_hash.o: /usr/include/netinet/in.h /usr/include/stdint.h
|
|
||||||
addr_hash.o: /usr/include/bits/wordsize.h /usr/include/bits/in.h
|
|
||||||
addr_hash.o: /usr/include/bits/byteswap.h /usr/include/arpa/inet.h hash.h
|
|
||||||
addr_hash.o: iftop.h
|
|
||||||
hash.o: /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h
|
|
||||||
hash.o: /usr/include/gnu/stubs.h
|
|
||||||
hash.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
|
||||||
hash.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
|
||||||
hash.o: /usr/include/bits/types.h /usr/include/libio.h
|
|
||||||
hash.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
|
|
||||||
hash.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
|
|
||||||
hash.o: /usr/include/endian.h /usr/include/bits/endian.h
|
|
||||||
hash.o: /usr/include/sys/select.h /usr/include/bits/select.h
|
|
||||||
hash.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
|
|
||||||
hash.o: /usr/include/alloca.h hash.h iftop.h
|
|
||||||
ns_hash.o: /usr/include/stdio.h /usr/include/features.h
|
|
||||||
ns_hash.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
|
||||||
ns_hash.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
|
||||||
ns_hash.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
|
||||||
ns_hash.o: /usr/include/bits/types.h /usr/include/libio.h
|
|
||||||
ns_hash.o: /usr/include/_G_config.h /usr/include/bits/stdio_lim.h
|
|
||||||
ns_hash.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
|
|
||||||
ns_hash.o: /usr/include/endian.h /usr/include/bits/endian.h
|
|
||||||
ns_hash.o: /usr/include/sys/select.h /usr/include/bits/select.h
|
|
||||||
ns_hash.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
|
|
||||||
ns_hash.o: /usr/include/alloca.h /usr/include/sys/socket.h
|
|
||||||
ns_hash.o: /usr/include/bits/socket.h /usr/include/limits.h
|
|
||||||
ns_hash.o: /usr/include/bits/posix1_lim.h /usr/include/bits/local_lim.h
|
|
||||||
ns_hash.o: /usr/include/linux/limits.h /usr/include/bits/posix2_lim.h
|
|
||||||
ns_hash.o: /usr/include/bits/sockaddr.h /usr/include/asm/socket.h
|
|
||||||
ns_hash.o: /usr/include/asm/sockios.h /usr/include/netinet/in.h
|
|
||||||
ns_hash.o: /usr/include/stdint.h /usr/include/bits/wordsize.h
|
|
||||||
ns_hash.o: /usr/include/bits/in.h /usr/include/bits/byteswap.h
|
|
||||||
ns_hash.o: /usr/include/arpa/inet.h ns_hash.h hash.h iftop.h
|
|
||||||
resolver.o: /usr/include/netinet/in.h /usr/include/features.h
|
|
||||||
resolver.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
|
||||||
resolver.o: /usr/include/limits.h /usr/include/bits/posix1_lim.h
|
|
||||||
resolver.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
|
|
||||||
resolver.o: /usr/include/bits/posix2_lim.h /usr/include/stdint.h
|
|
||||||
resolver.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
|
||||||
resolver.o: /usr/include/bits/wordsize.h /usr/include/sys/types.h
|
|
||||||
resolver.o: /usr/include/bits/types.h /usr/include/time.h
|
|
||||||
resolver.o: /usr/include/endian.h /usr/include/bits/endian.h
|
|
||||||
resolver.o: /usr/include/sys/select.h /usr/include/bits/select.h
|
|
||||||
resolver.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
|
|
||||||
resolver.o: /usr/include/bits/socket.h /usr/include/bits/sockaddr.h
|
|
||||||
resolver.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
|
|
||||||
resolver.o: /usr/include/bits/in.h /usr/include/bits/byteswap.h
|
|
||||||
resolver.o: /usr/include/sys/socket.h /usr/include/arpa/inet.h
|
|
||||||
resolver.o: /usr/include/pthread.h /usr/include/sched.h
|
|
||||||
resolver.o: /usr/include/bits/sched.h /usr/include/signal.h
|
|
||||||
resolver.o: /usr/include/bits/pthreadtypes.h /usr/include/bits/sigthread.h
|
|
||||||
resolver.o: /usr/include/stdio.h
|
|
||||||
resolver.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
|
||||||
resolver.o: /usr/include/libio.h /usr/include/_G_config.h
|
|
||||||
resolver.o: /usr/include/bits/stdio_lim.h /usr/include/stdlib.h
|
|
||||||
resolver.o: /usr/include/alloca.h /usr/include/netdb.h
|
|
||||||
resolver.o: /usr/include/rpc/netdb.h /usr/include/errno.h
|
|
||||||
resolver.o: /usr/include/bits/errno.h /usr/include/linux/errno.h
|
|
||||||
resolver.o: /usr/include/asm/errno.h /usr/include/string.h ns_hash.h hash.h
|
|
||||||
resolver.o: iftop.h
|
|
||||||
ui.o: /usr/include/curses.h /usr/include/stdio.h /usr/include/features.h
|
|
||||||
ui.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
|
||||||
ui.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
|
||||||
ui.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
|
||||||
ui.o: /usr/include/bits/types.h /usr/include/libio.h /usr/include/_G_config.h
|
|
||||||
ui.o: /usr/include/bits/stdio_lim.h /usr/include/ncurses/unctrl.h
|
|
||||||
ui.o: /usr/include/ncurses/curses.h /usr/include/string.h /usr/include/math.h
|
|
||||||
ui.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h
|
|
||||||
ui.o: /usr/include/bits/mathcalls.h
|
|
||||||
ui.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/float.h
|
|
||||||
ui.o: /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h
|
|
||||||
ui.o: /usr/include/bits/sched.h /usr/include/signal.h
|
|
||||||
ui.o: /usr/include/bits/sigset.h /usr/include/bits/pthreadtypes.h
|
|
||||||
ui.o: /usr/include/bits/sigthread.h /usr/include/stdlib.h
|
|
||||||
ui.o: /usr/include/sys/types.h /usr/include/endian.h
|
|
||||||
ui.o: /usr/include/bits/endian.h /usr/include/sys/select.h
|
|
||||||
ui.o: /usr/include/bits/select.h /usr/include/sys/sysmacros.h
|
|
||||||
ui.o: /usr/include/alloca.h /usr/include/sys/time.h /usr/include/bits/time.h
|
|
||||||
ui.o: addr_hash.h /usr/include/sys/socket.h /usr/include/bits/socket.h
|
|
||||||
ui.o: /usr/include/limits.h /usr/include/bits/posix1_lim.h
|
|
||||||
ui.o: /usr/include/bits/local_lim.h /usr/include/linux/limits.h
|
|
||||||
ui.o: /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h
|
|
||||||
ui.o: /usr/include/asm/socket.h /usr/include/asm/sockios.h
|
|
||||||
ui.o: /usr/include/netinet/in.h /usr/include/stdint.h
|
|
||||||
ui.o: /usr/include/bits/wordsize.h /usr/include/bits/in.h
|
|
||||||
ui.o: /usr/include/bits/byteswap.h /usr/include/arpa/inet.h hash.h iftop.h
|
|
||||||
ui.o: resolver.h sorted_list.h
|
|
||||||
util.o: /usr/include/sys/types.h /usr/include/features.h
|
|
||||||
util.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
|
||||||
util.o: /usr/include/bits/types.h
|
|
||||||
util.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
|
||||||
util.o: /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h
|
|
||||||
util.o: /usr/include/sys/select.h /usr/include/bits/select.h
|
|
||||||
util.o: /usr/include/bits/sigset.h /usr/include/sys/sysmacros.h
|
|
||||||
util.o: /usr/include/errno.h /usr/include/bits/errno.h
|
|
||||||
util.o: /usr/include/linux/errno.h /usr/include/asm/errno.h
|
|
||||||
util.o: /usr/include/stdio.h
|
|
||||||
util.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
|
||||||
util.o: /usr/include/libio.h /usr/include/_G_config.h
|
|
||||||
util.o: /usr/include/bits/stdio_lim.h /usr/include/stdlib.h
|
|
||||||
util.o: /usr/include/alloca.h /usr/include/string.h /usr/include/unistd.h
|
|
||||||
util.o: /usr/include/bits/posix_opt.h /usr/include/bits/confname.h
|
|
||||||
util.o: /usr/include/getopt.h iftop.h
|
|
||||||
sorted_list.o: /usr/include/stdlib.h /usr/include/features.h
|
|
||||||
sorted_list.o: /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h
|
|
||||||
sorted_list.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h
|
|
||||||
sorted_list.o: /usr/include/sys/types.h /usr/include/bits/types.h
|
|
||||||
sorted_list.o: /usr/include/time.h /usr/include/endian.h
|
|
||||||
sorted_list.o: /usr/include/bits/endian.h /usr/include/sys/select.h
|
|
||||||
sorted_list.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
|
|
||||||
sorted_list.o: /usr/include/sys/sysmacros.h /usr/include/alloca.h
|
|
||||||
sorted_list.o: /usr/include/stdio.h
|
|
||||||
sorted_list.o: /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stdarg.h
|
|
||||||
sorted_list.o: /usr/include/libio.h /usr/include/_G_config.h
|
|
||||||
sorted_list.o: /usr/include/bits/stdio_lim.h sorted_list.h iftop.h
|
|
||||||
|
|||||||
3
iftop.c
3
iftop.c
@@ -29,7 +29,8 @@ pthread_mutex_t tick_mutex;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define CAPTURE_LENGTH 512
|
/* Only need ethernet and IP headers. */
|
||||||
|
#define CAPTURE_LENGTH 48
|
||||||
|
|
||||||
void init_history() {
|
void init_history() {
|
||||||
history = addr_hash_create();
|
history = addr_hash_create();
|
||||||
|
|||||||
29
ui.c
29
ui.c
@@ -15,7 +15,7 @@
|
|||||||
#include "resolver.h"
|
#include "resolver.h"
|
||||||
#include "sorted_list.h"
|
#include "sorted_list.h"
|
||||||
|
|
||||||
#define HOSTNAME_LENGTH 20
|
#define HOSTNAME_LENGTH 256
|
||||||
|
|
||||||
#define HISTORY_DIVISIONS 3
|
#define HISTORY_DIVISIONS 3
|
||||||
|
|
||||||
@@ -87,10 +87,16 @@ void ui_print() {
|
|||||||
hash_node_type* n = NULL;
|
hash_node_type* n = NULL;
|
||||||
sorted_list_node* nn = NULL;
|
sorted_list_node* nn = NULL;
|
||||||
char hostname[HOSTNAME_LENGTH];
|
char hostname[HOSTNAME_LENGTH];
|
||||||
char line[80]; // FIXME
|
static char *line;
|
||||||
|
static int lcols;
|
||||||
int y = 2;
|
int y = 2;
|
||||||
sorted_list_type screen_list;
|
sorted_list_type screen_list;
|
||||||
|
|
||||||
|
if (!line || lcols != COLS) {
|
||||||
|
xfree(line);
|
||||||
|
line = calloc(COLS + 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
screen_list.compare = &screen_line_compare;
|
screen_list.compare = &screen_line_compare;
|
||||||
sorted_list_initialise(&screen_list);
|
sorted_list_initialise(&screen_list);
|
||||||
|
|
||||||
@@ -119,11 +125,12 @@ void ui_print() {
|
|||||||
sorted_list_insert(&screen_list, screen_line);
|
sorted_list_insert(&screen_list, screen_line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Screen layout: we have 2 * HISTORY_DIVISIONS 6-character wide history
|
||||||
|
* items, and so can use COLS - 12 * HISTORY_DIVISIONS to print the two
|
||||||
|
* host names. */
|
||||||
|
|
||||||
while((nn = sorted_list_next_item(&screen_list, nn)) != NULL) {
|
while((nn = sorted_list_next_item(&screen_list, nn)) != NULL) {
|
||||||
int x = 0;
|
int x = 0, j, L, t;
|
||||||
int j;
|
|
||||||
int L;
|
|
||||||
int t;
|
|
||||||
host_pair_line* screen_line = (host_pair_line*)nn->data;
|
host_pair_line* screen_line = (host_pair_line*)nn->data;
|
||||||
|
|
||||||
if(history_len < history_divs[j]) {
|
if(history_len < history_divs[j]) {
|
||||||
@@ -132,15 +139,17 @@ void ui_print() {
|
|||||||
t = history_divs[j] * RESOLUTION;
|
t = history_divs[j] * RESOLUTION;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
L = COLS - 12 * HISTORY_DIVISIONS;
|
||||||
|
|
||||||
resolve(&screen_line->ap->src, hostname, HOSTNAME_LENGTH);
|
resolve(&screen_line->ap->src, hostname, HOSTNAME_LENGTH);
|
||||||
sprintf(line, "%s ", hostname);
|
sprintf(line, "%s", hostname);
|
||||||
mvaddstr(y, x, line);
|
mvaddstr(y, x, line);
|
||||||
x += 20;
|
x += L / 2 - 2;
|
||||||
|
|
||||||
resolve(&screen_line->ap->dst, hostname, HOSTNAME_LENGTH);
|
resolve(&screen_line->ap->dst, hostname, HOSTNAME_LENGTH);
|
||||||
sprintf(line ,"=> %10s ", hostname);
|
sprintf(line, " => %*s", L / 2 - 2, hostname);
|
||||||
mvaddstr(y, x, line);
|
mvaddstr(y, x, line);
|
||||||
x += 24;
|
x = L;
|
||||||
|
|
||||||
for(j = 0; j < HISTORY_DIVISIONS; j++) {
|
for(j = 0; j < HISTORY_DIVISIONS; j++) {
|
||||||
readable_size(screen_line->sent[j] / t, line, 10);
|
readable_size(screen_line->sent[j] / t, line, 10);
|
||||||
|
|||||||
Reference in New Issue
Block a user