busybox Digest, Vol 106, Issue 34
muddyboot
emufly at gmail.com
Wed May 28 01:59:43 UTC 2014
Thanks for reply.
Follow your guide,I recompile busybox with only nslookup applet
## busybox .config
CONFIG_HAVE_DOT_CONFIG=y
CONFIG_DESKTOP=y
CONFIG_INCLUDE_SUSv2=y
CONFIG_PLATFORM_LINUX=y
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEATURE_COMPRESS_USAGE=y
CONFIG_FEATURE_INSTALLER=y
CONFIG_UNICODE_SUPPORT=y
CONFIG_SUBST_WCHAR=63
CONFIG_LAST_SUPPORTED_WCHAR=767
CONFIG_LONG_OPTS=y
CONFIG_FEATURE_DEVPTS=y
CONFIG_FEATURE_UTMP=y
CONFIG_FEATURE_WTMP=y
CONFIG_FEATURE_PIDFILE=y
CONFIG_PID_FILE_PATH="/var/run"
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SUID_CONFIG=y
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
CONFIG_NO_DEBUG_LIB=y
CONFIG_INSTALL_APPLET_SYMLINKS=y
CONFIG_PREFIX="./_install"
CONFIG_FEATURE_SYSTEMD=y
CONFIG_FEATURE_RTMINMAX=y
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SMALL=1
CONFIG_SHA3_SMALL=1
CONFIG_FEATURE_FAST_TOP=y
CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_EDITING_MAX_LEN=1024
CONFIG_FEATURE_EDITING_HISTORY=255
CONFIG_FEATURE_EDITING_SAVEHISTORY=y
CONFIG_FEATURE_REVERSE_SEARCH=y
CONFIG_FEATURE_TAB_COMPLETION=y
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
CONFIG_FEATURE_NON_POSIX_CP=y
CONFIG_FEATURE_COPYBUF_KB=4
CONFIG_FEATURE_SKIP_ROOTFS=y
CONFIG_IOCTL_HEX2STR_ERROR=y
CONFIG_FEATURE_HWIB=y
CONFIG_GZIP_FAST=0
CONFIG_DEFAULT_SETFONT_DIR=""
CONFIG_FEATURE_VI_MAX_LEN=0
CONFIG_TELINIT_PATH=""
CONFIG_FEATURE_KILL_DELAY=0
CONFIG_INIT_TERMINAL_TYPE=""
CONFIG_FIRST_SYSTEM_ID=0
CONFIG_LAST_SYSTEM_ID=0
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
CONFIG_DEFAULT_MODULES_DIR=""
CONFIG_DEFAULT_DEPMOD_FILE=""
CONFIG_FEATURE_LESS_MAXLINES=0
CONFIG_FEATURE_BEEP_FREQ=0
CONFIG_FEATURE_BEEP_LENGTH_MS=0
CONFIG_FEATURE_CROND_DIR=""
CONFIG_IFUPDOWN_IFSTATE_PATH=""
CONFIG_NSLOOKUP=y
CONFIG_DHCPD_LEASES_FILE=""
CONFIG_UDHCP_DEBUG=0
CONFIG_UDHCPC_DEFAULT_SCRIPT=""
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
CONFIG_FEATURE_MIME_CHARSET=""
CONFIG_SV_DEFAULT_SERVICE_DIR=""
CONFIG_FEATURE_SH_IS_NONE=y
CONFIG_FEATURE_BASH_IS_NONE=y
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
then I run nslookup again, resolve still slow sometimes。
I run tcupdump & wireshark to capture the dns packet, found nslookup *always* send IPV6 dns query request, but no IPV6 enabled in busybox.
No. Time Source Destination Protocol Length Info
1 0.000000 192.168.1.64 202.103.24.68 DNS 86 Standard query 0xf27e PTR 68.24.103.202.in-addr.arpa
2 0.225195 202.103.24.68 192.168.1.64 DNS 170 Standard query response 0xf27e PTR ns.wuhan.net.cn
3 0.226985 192.168.1.64 202.103.24.68 DNS 73 Standard query 0x6d5b A www.baidu.com
4 0.227112 192.168.1.64 202.103.24.68 DNS 73 Standard query 0x2251 AAAA www.baidu.com
5 0.463083 202.103.24.68 192.168.1.64 DNS 302 Standard query response 0x6d5b CNAME www.a.shifen.com A 115.239.211.110 A 115.239.210.27
6 5.232072 192.168.1.64 202.103.24.68 DNS 73 Standard query 0x6d5b A www.baidu.com
in the above packet, nslookup start 2 query request:
ipv4 query id: 0x6d5b (Ptk No 3)
ipv6 query id: 0x2251 (Ptk No 4)
DNS server give response for ipv4 query 0x6d5b in 236 ms (Pkt No 5), but seems that nslookup did not return the result, it still wait until timeout.
As compared to busybox nslookup, I tested nslookup from bind-9.7 in the same way, found that bind-nslookup did not send IPV6 dns query request, tcpdump packet as follows:
No.Time Source Destination Protocol Length Info
1 0.000000 192.168.1.64 202.103.24.68 DNS 73 Standard query 0xe2e3 A www.baidu.comNo. Time
2 0.002403 202.103.24.68 192.168.1.64 DNS 302 Standard query response 0xe2e3 CNAME www.a.shifen.com A 115.239.211.110 A 115.239.210.27
Now maybe I can come to a conclusion it is the IPV6 query request caused nslookup very slowly, but why No IPV6 enabled in both kernel & busybox, How it send out ipv6 request ?
Then I strace nslookup by command:
# strace -o log -t -r -T busybox nslookup www.baidu.com
0.000028 open("/lib/libc.so.6", O_RDONLY) = 3 <0.000008>
…
0.000026 open("/etc/resolv.conf", O_RDONLY) = 3 <0.000008>
0.000061 open("/etc/nsswitch.conf", O_RDONLY) = 3 <0.000023>
0.000024 open("/lib/libnss_files.so.2", O_RDONLY) = 3 <0.000012>
0.000022 open("/lib/libnss_dns.so.2", O_RDONLY) = 3 <0.000006>
...
0.000025 open("/lib/libresolv.so.2", O_RDONLY) = 3 <0.000015>
...
0.000071 open("/etc/gai.conf", O_RDONLY) = 3 <0.000028>
# cat /etc/gai.conf
precedence ::ffff:0:0/96 100
# strace -o log -t -r -T bind9-nslookup www.baidu.com
sendmsg(20, {msg_name(16)={sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("202.103.24.68")}, ms
g_iov(1)=[{"a\331\1\0\0\1\0\0\0\0\0\0\3www\5baidu\3com\0\0\1\0\1", 31}], msg_controllen=0, msg_flags=0}, 0) = 31 <0.0001
23>
0.000172 epoll_wait(3, {}, 64, 0) = 0 <0.000005>
0.000023 epoll_wait(3, {{EPOLLIN, {u32=20, u64=9099892551728496660}}}, 64, 1000) = 1 <0.006412>
0.006662 epoll_ctl(3, EPOLL_CTL_DEL, 20, {EPOLLIN, {u32=20, u64=9100086065774985236}}) = 0 <0.000142>
0.000316 recvmsg(20, {msg_name(16)={sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("202.103.24.68")}, ms
g_iov(1)=[{"a\331\201\200\0\1\0\3\0\5\0\5\3www\5baidu\3com\0\0\1\0\1\300"..., 65535}], msg_controllen=32, {cmsg_len=32,
cmsg_level=SOL_SOCKET, cmsg_type=0x1d /* SCM_??? */, ...}, msg_flags=0}, 0) = 260 <0.000135>
0.000375 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(3, 1), ...}) = 0 <0.000124>
there is no libnss library call .
Thanks very much for your help !
在 2014年5月27日,下午8:00,busybox-request at busybox.net 写道:
> Send busybox mailing list submissions to
> busybox at busybox.net
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.busybox.net/mailman/listinfo/busybox
> or, via email, send a message with subject or body 'help' to
> busybox-request at busybox.net
>
> You can reach the person managing the list at
> busybox-owner at busybox.net
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of busybox digest..."
>
>
> Today's Topics:
>
> 1. busybox nslookup slow on x86_64 (muddyboot)
> 2. Re: busybox nslookup slow on x86_64 (walter harms)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 27 May 2014 15:34:04 +0800
> From: muddyboot <emufly at gmail.com>
> To: busybox at busybox.net
> Subject: busybox nslookup slow on x86_64
> Message-ID: <A92D0A2A-6F3F-49A0-8E3C-7E4351445F5F at gmail.com>
> Content-Type: text/plain; charset=GB2312
>
> Hi, I found nslookup resolve very slow on x86_64 system , it cost 5 seconds or longer almost everytime.
>
> Tested OS: Debian 7 x86_64 with kernel 3.2.5 & LFS x86_64 with kernel 3.12
>
> No IPv6 enabled in kernel config.
> DNS server works fine
> nslookup program from bind-9.7 works fine
> nslookup from busybox test on i686 system OK
>
> target busybox version: 1.17.4?1.20.2?1.21.1?1.22.1
>
> Any response for this problem is great appreciated.
>
> ------------------------------
>
> Message: 2
> Date: Tue, 27 May 2014 09:40:57 +0200
> From: walter harms <wharms at bfs.de>
> To: busybox at busybox.net
> Subject: Re: busybox nslookup slow on x86_64
> Message-ID: <53844189.1060702 at bfs.de>
> Content-Type: text/plain; charset=GB2312
>
> hello muddy,
>
> I can not replicate that.
> test: x86_64
> busybox: 1.22.1
>
> did you try an allnoconfig verson with only nslookup enabled ? (and things you may need).
>
> re,
> wh
>
> Am 27.05.2014 09:34, schrieb muddyboot:
>> Hi, I found nslookup resolve very slow on x86_64 system , it cost 5 seconds or longer almost everytime.
>>
>> Tested OS: Debian 7 x86_64 with kernel 3.2.5 & LFS x86_64 with kernel 3.12
>>
>> No IPv6 enabled in kernel config.
>> DNS server works fine
>> nslookup program from bind-9.7 works fine
>> nslookup from busybox test on i686 system OK
>>
>> target busybox version: 1.17.4?1.20.2?1.21.1?1.22.1
>>
>> Any response for this problem is great appreciated.
>> _______________________________________________
>> busybox mailing list
>> busybox at busybox.net
>> http://lists.busybox.net/mailman/listinfo/busybox
>
>
> ------------------------------
>
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox
>
> End of busybox Digest, Vol 106, Issue 34
> ****************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20140528/b4b43a5b/attachment-0001.html>
More information about the busybox
mailing list