[LUGA] Mit freundlicher Unterstützung von:
OCG

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [luga] ping bleibt haengen...



Alexander Hausner wrote:
> 
> strace ping <ip_adresse>
> 
> und schau Dir an bei welchem systemcall ping hängen bleibt.

Output von "strace -tt -o ping.log ping 127.0.0.1" - etwas gekuerzt...


--- cut here ---
...
 
09:54:33.718501 socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 4
09:54:33.718770 getuid()                = 0
09:54:33.718951 setresuid(ruid 4294967295, euid 0, suid 4294967295) = 0
09:54:33.719109 getuid()                = 0
09:54:33.719266 setuid(0)               = 0
09:54:33.719538 getpid()                = 12988
09:54:33.719763 setsockopt(4, SOL_SOCKET, SO_BROADCAST, [1], 4) = 0
09:54:33.719969 getsockopt(4, SOL_SOCKET, SO_SNDBUF, [65535], [4]) = 0
09:54:33.720168 setsockopt(4, SOL_SOCKET, SO_RCVBUF, [49152], 4) = 0
09:54:33.720438 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136,
0), ...}) = 0
09:54:33.720840 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
09:54:33.721067 ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
09:54:33.721366 write(1, "PING 127.0.0.1 (127.0.0.1): 56 d"..., 42) = 42
09:54:33.721780 rt_sigaction(SIGINT, {0x804acf0, [],
SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
09:54:33.722016 rt_sigaction(SIGALRM, {0x804a0a0, [],
SA_RESTART|0x4000000}, {SIG_DFL}, 8) = 0
09:54:33.722202 gettimeofday({1010566473, 722266}, NULL) = 0
09:54:33.722347 sendto(4,
"\10\0\t\340\2742\0\0<<\5I\0\v\5Z\10\t\n\v\f\r\16\17\20"..., 64, 0,
{sin_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("127.0.0.1")}}, 16) = 64
09:54:33.722820 rt_sigaction(SIGALRM, {0x804a0a0, [],
SA_RESTART|0x4000000}, {0x804a0a0, [], SA_RESTART|0x4000000}, 8) = 0
09:54:33.723050 alarm(1)                = 0
09:54:33.723214 recvfrom(4,
"E\0\0T\2067\0\0@\1\366o\177\0\0\1\177\0\0\1\10\0\t\340"..., 192, 0,
{sin_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("127.0.0.1")}}, [16]) = 84
09:54:33.723537 rt_sigprocmask(SIG_BLOCK, [ALRM], [ALRM], 8) = 0
09:54:33.723774 gettimeofday({1010566473, 723829}, NULL) = 0
09:54:33.723886 rt_sigprocmask(SIG_SETMASK, [ALRM], NULL, 8) = 0
09:54:33.724026 recvfrom(4,
"E\0\0T\2068\0\0\377\0017n\177\0\0\1\177\0\0\1\0\0\21\340"..., 192, 0,
{sin_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("127.0.0.1")}}, [16]) = 84
09:54:33.724281 rt_sigprocmask(SIG_BLOCK, [ALRM], [ALRM], 8) = 0
09:54:33.724443 gettimeofday({1010566473, 724490}, NULL) = 0
09:54:33.724620 write(1, "64 bytes from 127.0.0.1: icmp_se"..., 58) = 58
09:54:33.724948 rt_sigprocmask(SIG_SETMASK, [ALRM], NULL, 8) = 0
09:54:33.725130 recvfrom(4, 0x805f660, 192, 0, 0xbfffefb4, 0xbfffee90) =
? ERESTARTSYS (To be restarted)
 
        ... hier habe ich Ctrl-C gedrueckt ....
 
09:54:54.388128 --- SIGINT (Interrupt) ---
09:54:54.388426 rt_sigaction(SIGINT, {SIG_IGN}, {0x804acf0, [],
SA_RESTART|0x4000000}, 8) = 0
09:54:54.388634 write(1, "\r", 1)       = 1
09:54:54.388906 write(1, "--- 127.0.0.1 ping statistics --"..., 34) = 34
09:54:54.389152 write(1, "1 packets transmitted, 1 packets"..., 58) = 58
09:54:54.389389 write(1, "round-trip min/avg/max = 2.224/2"..., 46) = 46
09:54:54.389696 munmap(0x40015000, 4096) = 0
09:54:54.389868 _exit(0)                =
?                                                                                                            
--- cut here ---

Also was mich wundert, es wird ein mal ein Paket gesendet, und dann das
reply empfangen,
und dann noch einmal mittels recv auf ein reply gewartetet !?!
Sollte da noch etwas kommen ?
Ist da vielleicht tatsaechlich ein Implementationsfehler im ping ? 

Servus, Peter
WOTLmade


-- 
Peter Mueller  Elimpex - Medizintechnik GesmbH.

Tel: +43-2236-41045-0   Fax: +43-2236-41045-9
mailto:peter.mueller@elimpex.com http://www.elimpex.com/



powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
September 2010