From 91f27d4af0b0499727db90a38845282c5aa2aa66 Mon Sep 17 00:00:00 2001 From: Khushali Desai Date: Tue, 28 Apr 2015 14:42:52 -0700 Subject: [PATCH] external server sending done now working on reply getting --- a.out | Bin 19020 -> 19020 bytes abs | Bin 19020 -> 19020 bytes dns1.c | 2 +- dns_main.c | 32 ++++++++++++++++++-------------- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/a.out b/a.out index 5c400a30d94a029c745fb5a35e0cb361e7cb3ab3..f5c5196f45eea2ac2be02c55ee147465ae5989a7 100755 GIT binary patch delta 3567 zcmZWr4Nz3q6@L40LFH$cg#{K^{uhWME(9v5AVzRrjVSn=v1*7C5*=bFBTAc4#Q3JX zd2Yt$YT8b1O2^JLCQ+FZhs1Q1Xc|bR5v{3CCuwPFoaboF`dhTd?RW0G5U_9HJMW(R zou7NoyZ7$kUd!NK%bp=eSA-;4BuRQa1%Rh3;%8r$N1vZ&Y6nfFbe!*SW|dIb}Qm)RYn=v+SE9p;w$?qRg#Qc%$%S|#^-MKAl#KnDVjW=;Pn#kntPPj z_y%PF~^wmV~7^4^C4Z*6RRrIQWqBl+MmW=11JsyIvdYhrCbN>?z z8grp4gGREA1}-8`v!FH;yqe5Cd7$mD8n9E&*(?~5DF>1dWJOvE9GKUthC14YOfMc{ zJeMR%9VL^plJPyc68(}()Qg38Urr&s@)~;bFqW=3ifH*dR|0ENbJ8LXsSf>zOr|r zgU1gbjCbN$xg$w_C7%7jvDPx3z2}&X;@om%R+N)Z-9PdWHu}*33GJkj53Pt$YV&*6K@tMNOu<7KYaB?V)9f?^R|9x|E$ebJylcg*pcAfm0 zlXb+#w*SdF7H$jNB5N&ygx`y$7>6*6^=zQhjD=RTkB!S%y>fzQVp^>vD^2Z23}d@# zmG^&E-DIVyZ-R7XD(tT8j{Fv{T(c`$+lX<*#+EvZ zJpU$hUmN;THDXloLD{c)V`yi!1ki@oSoWqf)jk|*0n>VcS2!}v#V$BYEm15wE;%dR zw7ZBe6aBjXF!-@r0F)d0)j~+A*mygJ)yBokyJLDb$1SlW-;ScFzCiFH+T>3FN6~yk z_Z|j~oep+BzF0o!WZ?-J@{MRVGhw-WE}HF1Sd_Ch8dhc>eK`K8ikA@CC?vhFjOvGU zr?D7UPJ6!^0k5>BD|McdqWOP;0F_$*VqK*-P2EcYuY&W4(;ejW1Je6co}%_4(i;JL zELpXaZ2w9eE1h+U6)OVLv7qR_&UhkQ$jpv3`qfEP20ZLH?!>fEP2EN2o!Cyc-jN1v z1gP&LUFm(B@5pPZF1a_7EpaEXw4_G)>|OS1Qi=WN*lc5LqtwR!mQ>^1L4FGPjJdA| zbpH-EC;27$_jlNP$;(}>M5w+q&Q#fWM$z}RvMhJ5<%g`={i1U#arWOH$IbT@x9ni{-!1g%KNrh0+!9m1kAGm`Fv5&J1P zh3WyeBs~0!>sGKQGd&w_UFYZ7q44hxW7=hJfHHoGHE{6g5+`fwVoJ6fF2+6ueIMy) zi6_l8QrPS)cO3xpeG*EkRziL0L((R+hZZ3bn0s&nDs(Nw2uY6->L1sCH|B^{+o=M!SyoWkln$)S{M zXedkfWQG-yQR3HV#_}1PP+gE#A~CZO+n~@?FDOvAp)0W4z;$`|*lABv`?o~ZC1p<4 zh)u=2q;z~l=hnJY#yi-W;t1@xW;Z{EQr_v}FQ`nqwNDt+N!SNAPE~$YO}v}p%&?z< zpsC3?(61njbbNq6O;%43=^JaLRg8Itl z(BU}YW;lZjYQoJ>PF9*~r~9PNw4wv(JF9lOP<}~fnmU=1oC$#M;Yg@_#jAOCWA|PY z5q-{6G}&>o-pp(saZcq=O=J+zlpK#m(T@~)6lp83mus*tflrU;oUWTB9A zg1RM3WR$r0-@fTzLf3|wq?Px zf;|qi9=NTgDD3<`G0w!;hVgKYIX_#B1MJ3vr`x^Rrgp#3HsOaK$kGupmSW6tuNZfU o`92zB<9kcZ`O~BG5$5=;7zYIZGRE*ruKDu~5QCmGm2KAl0S{8by#N3J delta 3845 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 delta 3845 zcmZWs4Nw%<9p76xz~keNuRHF8W8pX;O5sSL6(fojnysT~g^Zbs3WYnRAwc-BHHKV> zu4c1dO7hgsRGZOBnlaPPXiJr8>M1c9p()dxHZ^{9j5Q>#8Pqe;Qo^M@n=HlZ82& zwiylJ5=ftJVanD*O>2+Rv|9@YPU~u-Oh;e0eY9O#(E75nWo+bj;0E#N3;2%sfuHNm zF=StYFRvhr=HOmJqyVk#~|tsCn-#{x-dJ97ht^g$lH65x57y_ zBszGTlWa?z?Z1`zAUzi8CHLr`0s(@32N{S;by!q7;tp}D1?G=o6-uuvOY^^;oK(lZ z=V=UV)GMIY65OMC`VVM_t4B>o7B13(>A(-Nf0XH%%pzNC) zjf$;lfRM@_hz%)hb`Z%}TKBOXt;Q-~4s2M-Yk;D&}peOeGdGcv7mz#HMAVa#i50(lZL7e`6<4o4R?o zom?@wQ%=}`qPdnF=;vMHOt$8)g>sF9BR+Y=I2aO@!zP#l+e66i9g?L4q}JHT+T_y0 z&jpVA8&&`_VnBZZhH@|(2%^faz2LY4w(GU_l{5NShpClUK>g^fkO>CVx&( z^Y;LSg=?eX%F3-6F6e<$)HUcJQ1L1}3-?2d@=0}fI%tlA0lgqQJzB}qA&8;oYgYB& zvuZ#qSvmlus|K*Vx+C#BxJ4hLqQ7P%KQmj?9YFH+KQ79jid)7_qTCx%kDG|!Tkj4lkmSv_G`hJti*)|_QB#p+;E--?q;;*V@3)>5uJMiyBdxu-O{ zICzg>z3xm*o|H-edEc<~Fi5UUU7beyEEax#+Q9EDH9E%|Mhp}PPfoxx1v7vn%7M@~ z6O-!0sU+H3#xF3FN3A*h{uHv#TFbwXLjG!9Qk|OuR$5~N30PmCViTmVUQVX>o8cbP zJ+F;AVKgiyfNOlOWoa*XhuNdVZOivpDKt${4)%k(N*-RSNO&hpJ1~ju=wfCdGX`3v zxyCkutL54#0cNIZk>3~PT@i30D!a6*g3sef{z#Udr8j{N5Po$D+Ujwa6!l3IaYGRm zIxXtnfp(a%D+;xTV4px0Fpa*AgPWpdsTJaN1J%RSy!QMC+@yQWDWf$to?-&CINpY5y_a&0v%nY*J-pYq=lc0UBW%uoA zbXA20!UAv;BwNTO9)~-<4tvCyDnraa`-DS<^c!OLMWY1<=@1^zH?tX^ll4Hg+XEd9YqliDZ9{L+=4Mza@=1 zxv?I!`Sv>5ky9(&iKQGLylJpI0VOsL-=jjHhye+@-S0NX#u*3as!v`g4wsEDOh9ks z`CPsIHL!&vj8ZH90NWCnzeIJpWM6JNkzJ;O@oTi6Gw=;Fbtqvyj{)uelLE&B)ML(d zU}A59#k68jhsB(LCkl#rjC||L<}bt$XRa$J1NjT5^ZO>@EQL=MkH#(mb|%fWGX`@_ z({kMe-Gn68Qk@BMbr%ec(>yOg71Q&y17&)i3AFF z(E~}J2Wg55Cq7yoF-l;~iGANr@e7+)M)>cq+96b&C#_ zQanTPEXDH_|4Z>A#Y+?~QyioC8AWv!6`xZar+A%WnBo@{Z&Cb;Vua!yigzhaP~@OP zO9PqzgXS!%ophfX_|u$}C~~go5x-%jx5?YGv88Rj(Ad`XD{p5}Q4!baZQAJTY=27d zHMX>Rn>j<>2CvZR?doW6>+%Xs?QPwSEp1)GJb^O^?q=cX9`Cy5wyv%sZK(MvnHu$U zZ)k7tZ0T<7ZrSJ+YQ3Esy`59kMRS^)Te@4?+ZtQJe^YyBb61hUz!?_NR0PNkRS*cG z7>K=iecCJ!+A z7bcG~c~X;pF2oe)nH*#CI+GD5dG^ODfk`uy0+X|uEM;;5lOmHVnXG5hM`b+x$770T z2C_@uO6J36GWz2(A>`tsxS`nqVT7SM0R2k=F4drJ1<78#Fez*f$9pQnF`gA6A;gom z#Vbo1;5!7rLg1k0lHjJFja@J{!nh${o1e$V9pvWXb$(Nxrrpc5mGB9KUJkNxhD rvSRZ?IEIbEQ?Bvqdcount)); + printf"\n %d que_dnss.",ntohs(dns->qdcount)); printf("\n %d answer1.",ntohs(dns->ancount)); printf("\n %d authooritative Servers.",ntohs(dns->nscount)); printf("\n %d Additional records.\n\n",ntohs(dns->arcount)); diff --git a/dns_main.c b/dns_main.c index 42c60cc..e405bee 100644 --- a/dns_main.c +++ b/dns_main.c @@ -411,13 +411,14 @@ void get_dns_servers() { strcpy(dns_servers1[0], strtok(line1, " ")); strcpy(dns_servers1[0], strtok(NULL, "\n")); - + //p = strtok(line , " "); + //p = strtok(NULL , " "); } } - // strcpy(dns_servers1[0] , "208.67.222.222"); - //strcpy(dns_servers1[1] , "208.67.220.220"); + strcpy(dns_servers1[0] , "75.75.75.75"); + strcpy(dns_servers1[1] , "208.67.220.220"); } @@ -469,7 +470,7 @@ void my_get_host_by_name(char *host_cl , int query_type) qinfo =(struct que_dns*)&buf[sizeof(struct header_dns) + (strlen((const char*)q_name) + 1)]; //fill it qinfo->qtype = htons( query_type ); //type of the query , A , MX , CNAME , NS etc - qinfo->qclass = htons(1); //its internet (lol) + qinfo->qclass = htons(1); //its internet printf("\nSending Packet..."); if( sendto(s,(char*)buf,sizeof(struct header_dns) + (strlen((const char*)q_name)+1) + sizeof(struct que_dns),0,(struct sockaddr*)&dest,sizeof(dest)) < 0) @@ -479,24 +480,24 @@ void my_get_host_by_name(char *host_cl , int query_type) printf("Done"); //Receive the answer - i = sizeof dest; - printf("\nReceiving answer..."); + i = sizeof(dest); + //puts("\n Receiving answer..."); if(recvfrom (s,(char*)buf , 65536 , 0 , (struct sockaddr*)&dest , (socklen_t*)&i ) < 0) { perror("recvfrom failed"); } - printf("Done"); + // puts("Done"); dns = (struct header_dns*) buf; //move ahead of the dns header and the query field reader = &buf[sizeof(struct header_dns) + (strlen((const char*)q_name)+1) + sizeof(struct que_dns)]; - printf("\nThe response contains : "); - printf("\n %d que_dnss.",ntohs(dns->qdcount)); - printf("\n %d answer1.",ntohs(dns->ancount)); - printf("\n %d authooritative Servers.",ntohs(dns->nscount)); - printf("\n %d Additional records.\n\n",ntohs(dns->arcount)); + //printf("\nThe response contains : "); + //printf("\n %d que_dnss.",ntohs(dns->qdcount)); + //printf("\n %d answer1.",ntohs(dns->ancount)); + // printf("\n %d authooritative Servers.",ntohs(dns->nscount)); + //printf("\n %d Additional records.\n\n",ntohs(dns->arcount)); //Start reading answer1 stop=0; @@ -568,12 +569,15 @@ void my_get_host_by_name(char *host_cl , int query_type) } //print answer1 - printf("\nAnswer Records : %d \n" , ntohs(dns->ancount) ); + + +printf("\nAnswer Records : %d \n" , ntohs(dns->ancount) ); + // puts((char)(ntohs(dns->ancount))); for(i=0 ; i < ntohs(dns->ancount) ; i++) { printf("Name : %s ",answer1[i].name); - if( ntohs(answer1[i].resource->type) == T_A) //IPv4 address + if(ntohs(answer1[i].resource->type) == T_A) //IPv4 address { long *p; p=(long*)answer1[i].rdata;