实验七、NTP的客户端实现.docx
实验名称实验六有名管道通信实验实验时间06月4日星期四第 7-8节通过实现NTP协议的练习,进一步掌握Linux网络编程,并且提高协议的 分析与实现能力,为参与完成综合性项目打下良好的基础。实验目的实验环境VMware虚拟机、Ubuntu Lini系统实验内容:Network Time Protocol (NTP)是用来使计算机时间同步化的一种协 议,它可以使计算机对其服务器或时钟源(如石英钟、GPS等)进行同步 化,它可以提供高精确度的时间校正(LAN上与标准时间差小于1ms, WAN 上相差几十ms),且可用加密确认的方式来防止恶毒的协议攻击。实验步骤:简易NTP客户端的实现流程图如图实验内容(步骤、方法、算法、程序)代码:Jude<Ju d'Irtuat-nuachiln £: 一r pr&tocolJ ;NTP® '*/ QHGltruc -t_pack0-t(ch>ar ,pickot:#deftne #de-f triiE/"TP村-白属,性 /*d d)4-fta*±KaA*/NtP PCK LEN 46 LI 6/*NTpR-!AiEztic,A-d-* TIME/UDPflEiCjA */徉 1l n 仁 lud p #tneLuid«str we t ntp_(>acket,f e r Enc e-_t ILnie s *t am p ;crtatnaaie_ttFie5tanp; recetvt_t tinea taftp- transm,!-1_11 ma-s±日np ;nt p_tlL rantypcdic-f struct _ntp_ttnc343S ffdertft* JAN_1970e637e8e/* 196* j 19 7eA#C<vXaME±X4A«£ */3G #ditf tne NTPFRAC( X>( 42S4 * £奔.) 十 < < i9S1 * (算方) 11) 2»30 31VH 3MODE 3 STRATUM SPOLL 4PREC -ft<deTtne<de-TlLri>e!-tfda-ftriiO-*dertoe#def i.nie-文件1 MIB4E) S«(V常*信终端E 帝ls7amlzl4Ln6-?角fi-elzs4srt-7selz54s67«3e12345*Ta9el53 3 3444-444 4 4535sssss55*&s-ft*fi-*6o 7777"Imclug mnczlu同作 tfimcLudis wiLnctuide t ludc #4 Lude fflncLuid*! # Inc: Lu de #tri>cluidc*dcfinc ffde rtne #de-f tne«dertn>e tfde-f i_n.e- #d«ftne Fdeftne #de-f i-Hie/ * n't p « c <tsys/ociket P h> <sy£/watt _ h> ><£ tdko - h> -cstdllLbrh* -Hs-rrno . tia 号土iLinm lh> tfiys/uri!, h> y w 射w/"t I nc - h a <sys/loGtl-h> -cun-lstdi. h» <ih e宅/ t-fi - hiectriing . h> -cnetdb * h?-NTP_PQRT TIMiEPORT NTP_SEfiVER_IP NTPPGRT_S旧 NT FV】NTPVZNTPV3NTPV4 TIME1Z3 37Z IO - 72 14S - 4-1 -1Z3-"NTP/VI "JMTP/VZ1* "NTP/V3" ,NTP/V- TIME/UOP-*u-nsiLgne-d Int iCDar se-; uftstoned tnt: fine;ntp_t Lme;unsigned char Leap_ver_n»ode unslgriied char startuim: C-har char Loe tntpoll Jprectslo-n【 r £>QL_ciddy ; roo,t_dlEperslLon ;Int referenceMtdeni11Fler ; n±p_11 rae Hitp_t:lLrwestrcipy ( protec&L NTPV3 J j:/B de*i±K*/tf C 1 >trGtnp(pr&tocol, ntpvi)S | P strcpip( protoc-ct* NTPV1>| | J strcmpCpri&tocol , NTPV3H| | I stremp( protcL NTPV4)> Cmer»set(packet B e* NTP_PCK_LEN);ttr*e-ttme-return 1i end of tf旷n日搭r t?c_L t ne- ret ttme-ret ttme-select */l£n«J 17© 171 172 1 731GStfiifeca =e(v> 度索习 姓毗tnStfr(F) 149 1£11.1 uc_ t. ntp_pMd£.ket. ri-ww_tt ; me nset(Sh t n t s asizeof(hints)>i=>七ruct add>r Info hlri*%. *res NULL:ar so - 3*«_1&70; anp 一 fi-FiiC J ;Jint mainC)<±rst socked , rcparrort 1 endlto j : returni 4 et七ctttttr _r r4、07sl?el 7 ? 7 7 7 7 a2345e7aQ-e 12145 ft S5S5SSS5AGCI66-6& L111.L111,1L11L12 3 4 A88 .llL1.rtuiLcopvcrnode ntohltdAtoC J;a零年尊旷七*村 *n1|;hl(d4t4 T 1 3 )J;a£s白 11 rtte:hL(data2preelston nt:oht< data 3):rootdekay = otchi< *(lot*)S(data4);,roct_dls peris ton - nt&hlC *( 3 i ;rcfcfrcincc_tdcnt tftcr ntohl (tntw )&(d<»t0 1 £ 5 >>ref*r tnee_ttnes.tT EQar « ntahl *lft t* )* (diat.a) ia! p-refer&fiee_11tamp. Flirie nHahl( *( )&(data 20 > ) i>orlqtnage_ttmies tanp* coarse = ntohl( *<1>int* )&( dlataf 24 | ortflrvaQ!e_ttnestar»p . fine = ntoht( *C VrH:*)Ja(dia1ra 2® > >r«c«tvQtlrwstimp . c&arse ntohlit2 > >>rccet v_xtPiesamp , f tn. ntohlC *< in/t*3 > > ;Al.r dm = nnLE_1LlmHS IdEpb* Ue>h fiiLQhl( *tiLri t* J«-( dlditd =10 s*tr amsril-tfLnes tamp rtre = ftrohl( *( tnt*)A(data 4*1 J > > ;/* bPildh|jB£.±a */Int set_LocaL_tlpte(struct ritp_packet: * pnew_ttme_packet) < - - 一 sizruct timeval tv; tv . tw_toc = pnow_t-'liniic-_paf k-ii-t - straincncfc.it_ti-Piic-G tramp . co ±v* tv_usec USEC( pni!e-w_ti.nrE_p-a!C:ket -r-ansml't_ti.nest,ret in m se 11 i- mt?o Fd a y ( & tv ? NULL ;(接上)实验内容(步骤、方法、算法、程序)212210211209ZBS2971P4 1051B7ies 1S£|10412 163mainC )If ( i_l日dtinqtgfiiow_"tiLE(i_p;jc;lc?t:)p*rror< " Qet ii-dd r t n1To,_ );return 1;亡le>wukFd J £ returnOA t pANTP£±X3ipAo _ £j>*/IT Cget_n-tp_ttme< sockrd * res . anew_ttme_f>!cket:)NULL ;n甘w_t1me_packet jprlntf MTIF cll-Le-nt succies£ ! nfitze&fChtnts)>AF_UNSPC *- SOC K_DCiRAM ; XPFROTC3_UDF ; hU |JjE0Q EAic*/*,时讣必8 */$;4S-c:kfd fio-cke,t( r-o-s «z-a'L-f anfLly , ro-s.> >a*L_sock-type-r"Lf (s-cckfcfl <s )tnt s-e-ekTd, rej struct arfdlrlnro hln-ts*retstruct F¥tp_packetpe-r ror soc. r«tijm lw哀件 fF蝙君(E) S:»(vj H«(s)建剃 CO ffiffil(H)fl 9eflShints 屋 fl, h-trk*fc . ai._"Fiajn,L>l.y w hlni*t Si - a*L_sock*typc lilni-t s, - al_prQ t ocol /* jji-diAge t addri-nf a( J ° £y£- rc - getaddrtniFo<J4lTP_SEfi:V£fi_IP NTF-ORTSTR F hlnts p £f Crc i- ®>$ date -s "2001-08-08 10:10:10"2001 年08月 08 日 星期三 10:10:10 EST$ ./ntp部分源程序代码/实验配置NTP client success!$ date 2020年06月 15日星期一 17: 41: 09 CST丈件0=) 煽SME) 垂看 W) 搜索任建端(T) 朋助1实验结果与结论j ude® J udc = vi_r1:u aL - machi-fie-1 «S gee n tp * c JudeiSlIude-virtual -machine: -$ date -3 " date:无法退宜曰期:王/t许的操作 NOOl年 月 OB H 星期三 IO : IB : IO C ST j udc j ud« - v*t j±u a L -nach'lnc :sudo da tc(suda J Jude 的密码: NHS年 M月 08 B 星期三 10 : 16 : CST j ude(3 j tide - v±r±u al_ -inachtrie : . /dtp NTP clxnt successlJiidetajude- virtual -nchtniei-S date 呈dm曰早 日6月 is S 星期 17 : -on -09 C&T J udegj j tide ® viufTu aT -machlriir in tp-©8-OB 10:1©n2OGl03-06:10 "10 : !试验心得与小结指导教师评议通过实现NTP的练习,进一步掌握Linux网络编程成绩评定:指导教师签名: