Kismet Wireless

Kismet Forums

 

Posted by:rgbiernat
Subject:kismet_client and kismet_server working separately but not by starting it with "kismet"
Date:07:29:22 20/12/2005

Hi there,

well, as my gentoo box sometimes provides not so current packages I decided to compile Kismet, gpsd and gpsdrive from the source. Lately, I am having problems starting Kismet.

If I start "kismet" as root (drops privs) then it fails by this error message:

-------------- kismet output ----------------
Listening on port 2501.
Allowing connections from 127.0.0.1/255.255.255.255
Registering builtin client/server protocols...
Registering requested alerts...
Registering builtin timer events...
Gathering packets...
Starting UI...
Looking for startup info from localhost:2501........................ failed.
FATAL: Did not get startup info from localhost:2501 within 20 seconds.
Killing server...
/usr/local/bin/kismet: warning: wait_for_job: job 1 is stopped
Kismet exited.
---------------------------------------------

-------------- strace debug -----------------
Gathering packets...
[{WIFSTOPPED(s) && WSTOPSIG(s) == SIGTTOU}], WSTOPPED|WCONTINUED) = 6707
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD RTMIN], NULL, 8) = 0
waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WSTOPPED|WCONTINUED) = 6708
rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [CHLD RTMIN], 8) = 0
ioctl(2, TIOCSPGRP, [6697]) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, 0xbfd956a8, WNOHANG|WSTOPPED|WCONTINUED) = 0
sigreturn() = ? (mask now [RTMIN])
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
read(255, "\nkill -0 $servpid 2>/dev/null\nif"..., 1704) = 350
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(2, F_GETFD) = 0
fcntl64(2, F_DUPFD, 10) = 10
fcntl64(2, F_GETFD) = 0
fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
dup2(3, 2) = 2
close(3) = 0
kill(6707, SIG_0) = 0
dup2(10, 2) = 2
fcntl64(10, F_GETFD) = 0x1 (flags FD_CLOEXEC)
close(10) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
write(1, "Starting UI...\n", 15Starting UI...
) = 15
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [RTMIN], 8) = 0
pipe([3, 4]) = 0
_llseek(255, -104, [1600], SEEK_CUR) = 0
fork() = 6744
setpgid(6744, 6744) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
close(3) = 0
close(4) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [CHLD RTMIN], 8) = 0
ioctl(2, TIOCSPGRP, [6744]) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
waitpid(-1, Looking for startup info from localhost:2501........................ failed.
FATAL: Did not get startup info from localhost:2501 within 20 seconds.
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WSTOPPED|WCONTINUED) = 6744
rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [CHLD RTMIN], 8) = 0
ioctl(2, TIOCSPGRP, [6697]) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, 0xbfd956a8, WNOHANG|WSTOPPED|WCONTINUED) = 0
sigreturn() = ? (mask now [RTMIN])
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
read(255, "\nif test \"$?\" != \"5\"; then\n\techo"..., 1704) = 104
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
write(1, "Killing server...\n", 18Killing server...
) = 18
kill(6707, SIGTERM) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
fstat64(2, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 2), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f82000
write(2, "/usr/local/bin/kismet: warning: "..., 63/usr/local/bin/kismet: warning: wait_for_job: job 1 is stopped
) = 63
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD TSTP TTIN TTOU], [CHLD RTMIN], 8) = 0
ioctl(2, TIOCSPGRP, [6697]) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0
rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
write(1, "Kismet exited.\n", 15Kismet exited.
) = 15
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0
read(255, "", 1704) = 0
munmap(0xb7f82000, 4096) = 0
munmap(0xb7f83000, 4096) = 0
exit_group(0) = ?
-------------------------------------------------------


Ok, here comes the interesting thing : If I start kismet_server and kismet_client separately then it works perfectly.

Anybody got a clue ?


Regards,
rgbiernat


Reply to this message