亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2068 | 回復(fù): 3
打印 上一主題 下一主題

[Web] 寫成CGI 實(shí)現(xiàn) 修改 LINUX網(wǎng)絡(luò)參數(shù) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2006-09-26 14:18 |只看該作者 |倒序?yàn)g覽
,如果 用C語言 實(shí)現(xiàn) 修改 LINUX網(wǎng)絡(luò)參數(shù)。
   比如修改  系統(tǒng)的  IP。NETMASK。DNS。網(wǎng)關(guān) 等等信息。
      用C編程實(shí)現(xiàn),怎么實(shí)現(xiàn)。。

我的思理
     1. 找LINUX源碼中的ifconfig。然后挖出來。。
     2. 第二,打開/etc/sysconfig//networkk-scripts/ifcfg-eth0。按照要求 更改。,然后system("service network start")  /我的問題是。我不知道怎么去按照 要求 對文件進(jìn)行 個更改
  
   知道的朋友 能不能指點(diǎn)下。。如果可以,給個 演示的 代碼。感激不盡亞
     
還有。想搞的東西是 用C寫CGI。完成一個B/S模式的 網(wǎng)絡(luò) 管理的東西。。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2006-09-26 22:27 |只看該作者
那你還是 system("ifconfig <device> ....");  這樣來得方便, 注意程序要 chmod +s

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2006-09-27 00:15 |只看該作者
用下面的這個代碼片斷, 注釋我已經(jīng)寫好.
在 unix-like 系統(tǒng)上, ifconfig 都采用的下面類似下面的函數(shù)實(shí)現(xiàn).
說白了, 都是 BSD 實(shí)現(xiàn)或變型.

Good Luck, 晚安!


  1. 1   typedef struct _if_conf_param{
  2. 2           struct sockaddr addr;
  3. 3           struct sockaddr mask;
  4. 4           struct sockaddr brcst;
  5. 5           struct sockaddr hw_addr;
  6. 6   }if_conf_param_t;
  7. 7   
  8. 8   int change_if_param(const char *name, if_conf_param_t *if_param)
  9. 9   {
  10. 10          int ret = 0;
  11. 11          int sockfd;
  12. 12          struct ifreq ifr;
  13. 13          struct sockaddr_in *sin;
  14. 14          strcpy(ifr.ifr_name, name);
  15. 15         
  16. 16          /* open an sock to communicate with interface */
  17. 17          if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
  18. 18                  return -1;
  19. 19                 
  20. 20          /* set ip address */
  21. 21          ifr.ifr_addr = if_param->addr;
  22. 22          if (ioctl(sockfd, SIOCSIFADDR, &ifr) < 0)
  23. 23                  return -1;
  24. 24                 
  25. 25          /* set ip mask and broadcase address */
  26. 26          sin = (struct sockaddr_in *)&if_param->addr;
  27. 27          if (sin->sin_addr.s_addr != INADDR_ANY) {
  28. 28         
  29. 29                  /* set ip mask */
  30. 30                  if (if_param->mask.sa_family == AF_INET) {
  31. 31                          ifr.ifr_netmask = if_param->mask;
  32. 32                          if (ioctl(sockfd, SIOCSIFNETMASK, &ifr) < 0)
  33. 33                                  return -errno;
  34. 34                  }
  35. 35                 
  36. 36                  /* set broadcase address */
  37. 37                  if (if_param->brcst.sa_family == AF_INET) {
  38. 38                          ifr.ifr_broadaddr = if_param->brcst;
  39. 39                          if (ioctl(sockfd, SIOCSIFBRDADDR, &ifr) < 0)
  40. 40                                  return -errno;
  41. 41                  }
  42. 42          }
  43. 43         
  44. 44          close(sockfd);
  45. 45         
  46. 46          return 0;
  47. 47  }
復(fù)制代碼

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2006-09-27 15:34 |只看該作者
感謝 老大阿,
看看發(fā)帖子的 時間 0.15

  呵呵。。老大。注意 休息呀
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP