📄 ntp.c
字号:
#include<sys/types.h>#include<stdio.h>#include <string.h>#include <unistd.h>#include <sys/stat.h>#include <fcntl.h>#define PATH "/config/www/"main(){char test[150];int n;int i;int count;char c;char ntpserver[100];strcpy(ntpserver,"61.129.42.44");if (getenv("CONTENT_LENGTH")) n=atoi(getenv("CONTENT_LENGTH"));count=0;for(i=0;i<10;i++) getchar();for(i=10;i<n;i++) { c=getchar(); if (c=='&') {ntpserver[count]='\0';break;} else ntpserver[count++]=c; }char cmd[160];strcpy(cmd,"/bin/ntpdate ");strcat(cmd,ntpserver);system(cmd); FILE *netfpr,*netfpw; char filename[100]; strcpy(filename,PATH); strcat(filename,"network.conf"); char ip[20]=""; char mask[20]=""; char gateway[20]=""; char dns1[20]=""; char dns2[20]=""; char dhcpc='0'; //read IP info if ( (netfpr=fopen(filename,"r"))==NULL ) {printf("can not open network.conf to write!<br>\n"); } while(fscanf(netfpr,"IPADDR=%s\n",ip)!=EOF) { fscanf(netfpr,"%*[^\n]%*c"); if (strlen(ip)!=0) break; } fclose(netfpr); //read mask info if ( (netfpr=fopen(filename,"r"))==NULL ) {printf("can not open network.conf to write!<br>\n"); } while(fscanf(netfpr,"NETMASK=%s\n",mask)!=EOF) {fscanf(netfpr,"%*[^\n]%*c"); if (strlen(mask)!=0) break; } fclose(netfpr); //read gateway info if ( (netfpr=fopen(filename,"r"))==NULL ) {printf("can not open network.conf to write!<br>\n"); } while(fscanf(netfpr,"GATEWAY=%s\n",gateway)!=EOF) {fscanf(netfpr,"%*[^\n]%*c"); if (strlen(gateway)!=0) break; } fclose(netfpr); //read dns1 info if ( (netfpr=fopen(filename,"r"))==NULL ) {printf("can not open network.conf to write!<br>\n"); } while(fscanf(netfpr,"DNS1=%s\n",dns1)!=EOF) {fscanf(netfpr,"%*[^\n]%*c"); if (strlen(dns1)!=0) break; } fclose(netfpr); //read dns2 info if ( (netfpr=fopen(filename,"r"))==NULL ) {printf("can not open network.conf to write!<br>\n"); } while(fscanf(netfpr,"DNS2=%s\n",dns2)!=EOF) {fscanf(netfpr,"%*[^\n]%*c"); if (strlen(dns2)!=0) break; } //read dhcpc info if ( (netfpr=fopen(filename,"r"))==NULL ) {printf("can not open network.conf to write!<br>\n"); } while(fscanf(netfpr,"DHCPC=%c\n",dhcpc)!=EOF) {fscanf(netfpr,"%*[^\n]%*c"); if (dhcpc!=' ') break; } fclose(netfpr); printf("ip=%s\n",ip); printf("mask=%s\n",mask); printf("dns1=%s\n",dns1); printf("dns2=%s\n",dns2); printf("dhcpc=%c\n",dhcpc); if ( !(netfpw=fopen(filename,"w+")) ) {printf("can not open network.conf to write!<br>\n"); } //fprintf(netfpw,"#!/bin/sh\n"); fprintf(netfpw,"IPADDR=%s\n",ip); fprintf(netfpw,"NETMASK=%s\n",mask); fprintf(netfpw,"GATEWAY=%s\n",gateway); fprintf(netfpw,"DNS1=%s\n",dns1); fprintf(netfpw,"DNS2=%s\n",dns2); fprintf(netfpw,"NTPSERVER=%s\n",ntpserver); fprintf(netfpw,"DHCPC=%c\n",dhcpc); fclose(netfpw);printf("Contenttype:text/html\n\n");printf("<html>\n");printf("<head><title>ntp</title></head>\n");printf("<body><br>\n");printf("<meta http-equiv=\"Refresh\" content=\"5;url=NtpDate.cgi\">");//printf("%s\n",test);//printf("ntpserver=%s\n",ntpserver);//printf("cmd=%s\n",cmd);printf("</body><br>\n");printf("</html>\n");fflush(stdout);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -