home ~ # strace ping 127.0.0.1 &> /strace.ping ^Chome ~ # home ~ # ping 192.168.2.1 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.020 ms ^C --- 192.168.2.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.020/0.020/0.020/0.000 ms home ~ # strace ping 192.168.2.1 execve("/bin/ping", ["ping", "192.168.2.1"], [/* 21 vars */]) = 0 brk(0) = 0x15858248 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=73219, ...}) = 0 mmap2(NULL, 73219, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4b85f000 close(3) = 0 open("/lib/libresolv.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P!\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=62960, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4b85e000 mmap2(NULL, 75720, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4b84b000 mmap2(0x4b85a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) = 0x4b85a000 mmap2(0x4b85c000, 6088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4b85c000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@a\1\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1249516, ...}) = 0 mmap2(NULL, 1255696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4b718000 mmap2(0x4b845000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12d) = 0x4b845000 mmap2(0x4b848000, 10512, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4b848000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4b717000 set_thread_area({entry_number:-1 -> 6, base_addr:0x4b7176c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "\325i\371>", 4) = 4 close(3) = 0 mprotect(0x4b845000, 8192, PROT_READ) = 0 mprotect(0x4b85a000, 4096, PROT_READ) = 0 mprotect(0x15840000, 4096, PROT_READ) = 0 mprotect(0x4b88c000, 4096, PROT_READ) = 0 munmap(0x4b85f000, 73219) = 0 socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 3 getuid32() = 0 setuid32(0) = 0 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4 connect(4, {sa_family=AF_INET, sin_port=htons(1025), sin_addr=inet_addr("192.168.2.1")}, 16) = 0 getsockname(4, {sa_family=AF_INET, sin_port=htons(39826), sin_addr=inet_addr("192.168.2.1")}, [16]) = 0 close(4) = 0 setsockopt(3, SOL_RAW, ICMP_FILTER, ~(ICMP_ECHOREPLY|ICMP_DEST_UNREACH|ICMP_SOURCE_QUENCH|ICMP_REDIRECT|ICMP_TIME_EXCEEDED|ICMP_PARAMETERPROB), 4) = 0 setsockopt(3, SOL_IP, IP_RECVERR, [1], 4) = 0 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [324], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [65536], 4) = 0 getsockopt(3, SOL_SOCKET, SO_RCVBUF, [131072], [4]) = 0 brk(0) = 0x15858248 brk(0x15879248) = 0x15879248 brk(0x1587a000) = 0x1587a000 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 31), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4b870000 write(1, "PING 192.168.2.1 (192.168.2.1) 5"..., 53PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. ) = 53 setsockopt(3, SOL_SOCKET, SO_TIMESTAMP, [1], 4) = 0 setsockopt(3, SOL_SOCKET, SO_SNDTIMEO, "\1\0\0\0\0\0\0\0", 8) = 0 setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\1\0\0\0\0\0\0\0", 8) = 0 getpid() = 18368 rt_sigaction(SIGINT, {0x1583c89c, [], SA_INTERRUPT}, NULL, 8) = 0 rt_sigaction(SIGALRM, {0x1583c89c, [], SA_INTERRUPT}, NULL, 8) = 0 rt_sigaction(SIGQUIT, {0x1583c8e7, [], SA_INTERRUPT}, NULL, 8) = 0 gettimeofday({1223190785, 302304}, NULL) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TIOCGWINSZ, {ws_row=24, ws_col=80, ws_xpixel=0, ws_ypixel=0}) = 0 gettimeofday({1223190785, 302462}, NULL) = 0 gettimeofday({1223190785, 302635}, NULL) = 0 sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.2.1")}, msg_iov(1)=[{"\10\0003d\300G\0\1\1i\350H+\236\4\0\10\t\n\v\f\r\16\17\20\21\22\23\24\25\26\27"..., 64}], msg_controllen=0, msg_flags=0}, 0) = 64 recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.2.1")}, msg_iov(1)=[{"E\0\0T\31\264\0\0@\1\333\242\300\250\2\1\300\250\2\1\0\0;d\300G\0\1\1i\350H"..., 192}], msg_controllen=20, {cmsg_len=20, cmsg_level=SOL_SOCKET, cmsg_type=0x1d /* SCM_??? */, ...}, msg_flags=0}, 0) = 84 write(1, "64 bytes from 192.168.2.1: icmp_"..., 5964 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.134 ms ) = 59 gettimeofday({1223190785, 303040}, NULL) = 0 recvmsg(3, ^C home ~ # ping 192.168.2.3 PING 192.168.2.3 (192.168.2.3) 56(84) bytes of data. ^C --- 192.168.2.3 ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms home ~ # ping 192.168.2.2 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. ^C --- 192.168.2.2 ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms home ~ # strace ping 192.168.2.2 execve("/bin/ping", ["ping", "192.168.2.2"], [/* 21 vars */]) = 0 brk(0) = 0x1236beb8 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=73219, ...}) = 0 mmap2(NULL, 73219, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4a879000 close(3) = 0 open("/lib/libresolv.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P!\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=62960, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4a878000 mmap2(NULL, 75720, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4a865000 mmap2(0x4a874000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) = 0x4a874000 mmap2(0x4a876000, 6088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4a876000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@a\1\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1249516, ...}) = 0 mmap2(NULL, 1255696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4a732000 mmap2(0x4a85f000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12d) = 0x4a85f000 mmap2(0x4a862000, 10512, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4a862000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4a731000 set_thread_area({entry_number:-1 -> 6, base_addr:0x4a7316c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "\342\370\373\253", 4) = 4 close(3) = 0 mprotect(0x4a85f000, 8192, PROT_READ) = 0 mprotect(0x4a874000, 4096, PROT_READ) = 0 mprotect(0x12354000, 4096, PROT_READ) = 0 mprotect(0x4a8a6000, 4096, PROT_READ) = 0 munmap(0x4a879000, 73219) = 0 socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = 3 getuid32() = 0 setuid32(0) = 0 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4 connect(4, {sa_family=AF_INET, sin_port=htons(1025), sin_addr=inet_addr("192.168.2.2")}, 16) = 0 getsockname(4, {sa_family=AF_INET, sin_port=htons(47128), sin_addr=inet_addr("192.168.2.1")}, [16]) = 0 close(4) = 0 setsockopt(3, SOL_RAW, ICMP_FILTER, ~(ICMP_ECHOREPLY|ICMP_DEST_UNREACH|ICMP_SOURCE_QUENCH|ICMP_REDIRECT|ICMP_TIME_EXCEEDED|ICMP_PARAMETERPROB), 4) = 0 setsockopt(3, SOL_IP, IP_RECVERR, [1], 4) = 0 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [324], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [65536], 4) = 0 getsockopt(3, SOL_SOCKET, SO_RCVBUF, [131072], [4]) = 0 brk(0) = 0x1236beb8 brk(0x1238ceb8) = 0x1238ceb8 brk(0x1238d000) = 0x1238d000 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 31), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4a88a000 write(1, "PING 192.168.2.2 (192.168.2.2) 5"..., 53PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. ) = 53 setsockopt(3, SOL_SOCKET, SO_TIMESTAMP, [1], 4) = 0 setsockopt(3, SOL_SOCKET, SO_SNDTIMEO, "\1\0\0\0\0\0\0\0", 8) = 0 setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\1\0\0\0\0\0\0\0", 8) = 0 getpid() = 18372 rt_sigaction(SIGINT, {0x1235089c, [], SA_INTERRUPT}, NULL, 8) = 0 rt_sigaction(SIGALRM, {0x1235089c, [], SA_INTERRUPT}, NULL, 8) = 0 rt_sigaction(SIGQUIT, {0x123508e7, [], SA_INTERRUPT}, NULL, 8) = 0 gettimeofday({1223190800, 247569}, NULL) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TIOCGWINSZ, {ws_row=24, ws_col=80, ws_xpixel=0, ws_ypixel=0}) = 0 gettimeofday({1223190800, 247730}, NULL) = 0 gettimeofday({1223190800, 247904}, NULL) = 0 sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.2.2")}, msg_iov(1)=[{"\10\0\3549\304G\0\1\20i\350H`\310\3\0\10\t\n\v\f\r\16\17\20\21\22\23\24\25\26\27"..., 64}], msg_controllen=0, msg_flags=0}, 0) = 64 recvmsg(3, ^C home ~ # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface ^C home ~ # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 195.5.5.18 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1 85.90.204.62 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo 0.0.0.0 85.90.204.62 0.0.0.0 UG 0 0 0 ppp0 home ~ # ping 85.90.204.62 PING 85.90.204.62 (85.90.204.62) 56(84) bytes of data. 64 bytes from 85.90.204.62: icmp_seq=1 ttl=255 time=22.7 ms ^X^C --- 85.90.204.62 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 22.720/22.720/22.720/0.000 ms home ~ # strace ping 85.90.204.62