소켓 사용시 dns 질의를 하는 이유는 무엇인가요?

347 views
Skip to first unread message

명랑폐인

unread,
Jul 29, 2014, 3:35:51 AM7/29/14
to nett...@googlegroups.com
netty를 이용하여 채팅 서비스를 운영중에 있습니다.

TCP 방식임으로 네트웍 방화벽 장비에서  UDP를 차단 시켰는데, 오류가 발생하더라구요.

원인을 분석하던중, 클라이언트 접속시 DNS 질의를 하더라구요..

udp        0      0 192.168.xxx.xxx:32384       168.126.63.1:53             ESTABLISHED
udp        0      0 192.168.xxx.xxx:53504       168.126.63.1:53             ESTABLISHED
udp        0      0 192.168.xxx.xxx:50561       168.126.63.1:53             ESTABLISHED

이게 java socket 라이브러리에서 요청하는것인지... 아니면, netty api에서 요청하는것인지 궁금합니다.

(일단은 /etc/resolv.conf 에서 강제로 dns 질의를 막은걸로 처리를 하였습니다.)


netty 3.5.7  +  mybitis 3.1.0 + mysql-connector-5.0.6 를 사용하고 있습니다.

의심할만한 코드는
Channel channel = ctx.getChannel();
InetSocketAddress inet = (InetSocketAddress)channel.getRemoteAddress();
int port = ((InetSocketAddress)channel.getLocalAddress()).getPort();
String ip = inet.getHostName();

입니다. 





이희승 (Trustin Lee)

unread,
Jul 29, 2014, 7:39:41 PM7/29/14
to Netty Korean Users
어떤 DNS 질의가 실행되었는지 wireshark나 tcpdump로 확인 뒤 알려 주시면 도움이 될 듯 합니다.


--
이 메일은 Google 그룹스 'Netty Korean User Group' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 netty-ko+u...@googlegroups.com에 이메일을 보내세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.



--

김태봉

unread,
Jul 30, 2014, 2:01:53 AM7/30/14
to nett...@googlegroups.com
코드에 문제가 있는것 같습니다.
String ip = inet.getHostName(); 
getHostName() 메소드 자체가 dns 질의를 하는것 같네요. 
ip값을 넘겨주길래, 그냥 썼는데, 실제 아이피를 얻고 싶다면  아래와 같이 호출하는게 맞는것 같습니다.
inet.getAddress().getHostAddress();




DNS 로그입니다. PTR 을 조회하네요.

14:53:17.892936 IP (tos 0x0, ttl  64, id 51126, offset 0, flags [DF], proto: UDP (17), length: 74) 192.168.xxx.xxx.44147 > kns.kornet.net.domain: [bad udp cksum 7a9a!]  43366+ PTR? 166.135.192.119.in-addr.arpa. (46)
14:53:17.895703 IP (tos 0x0, ttl  57, id 21648, offset 0, flags [none], proto: UDP (17), length: 135) kns.kornet.net.domain > 192.168.xxx.xxx.44147:  43366 NXDomain q: PTR? 166.135.192.119.in-addr.arpa. 0/1/0 ns: 135.192.119.in-addr.arpa. (107)
14:53:18.045227 IP (tos 0x0, ttl  64, id 51278, offset 0, flags [DF], proto: UDP (17), length: 72) 192.168.xxx.xxx.15109 > kns.kornet.net.domain: [bad udp cksum ddb4!]  3036+ PTR? 138.211.72.61.in-addr.arpa. (44)
14:53:18.048568 IP (tos 0x0, ttl  57, id 18793, offset 0, flags [none], proto: UDP (17), length: 130) kns.kornet.net.domain > 192.168.xxx.xxx.15109:  3036 NXDomain q: PTR? 138.211.72.61.in-addr.arpa. 0/1/0 ns: 211.72.61.in-addr.arpa. (102)



2014년 7월 30일 오전 8:39, 이희승 (Trustin Lee) <t...@motd.kr>님이 작성:
Reply all
Reply to author
Forward
0 new messages