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

  免費注冊 查看新帖 |

Chinaunix

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

[C] 用C語言 實現(xiàn) 修改 LINUX網(wǎng)絡參數(shù) [復制鏈接]

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

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

thank you

[ 本帖最后由 寂寞游俠 于 2006-9-26 14:13 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2006-09-26 14:44 |只看該作者
演示代碼?
你是不是沒有ifconfig.c和routeadd.c的源代碼?

直接打包FreeBSD6.1下的 /src/sbin/ifconfig目錄,連makefile都有

ifconfig.rar

65.63 KB, 下載次數(shù): 107

ifconfig

論壇徽章:
0
3 [報告]
發(fā)表于 2006-09-26 14:45 |只看該作者
route的源代碼
就是route add啊,route delete之類的
分析完畢給俺寫個學習報告吧

route.rar

16.74 KB, 下載次數(shù): 74

route

論壇徽章:
0
4 [報告]
發(fā)表于 2006-09-26 14:51 |只看該作者
easy得很

  1. BOOL SetIP(const char *pcInterface, unsigned long ulIP, unsigned long ulNetmask)
  2. {
  3.         struct ifreq ifr;
  4.         int fd;
  5.         struct sockaddr_in *pAddr;

  6.         if (pcInterface == NULL)
  7.         {
  8.                 fprintf(stderr, "illegal call function SetGeneralIP!\n");
  9.                 return FALSE;
  10.         }

  11.         if ((fd = socket(AF_INET,SOCK_DGRAM,0)) < 0) return FALSE;
  12.         strcpy(ifr.ifr_name, pcInterface);

  13.         pAddr = (struct sockaddr_in *)&(ifr.ifr_addr);
  14.         bzero(pAddr, sizeof(struct sockaddr_in));
  15.         pAddr->sin_addr.s_addr = ulIP;
  16.         pAddr->sin_family = AF_INET;
  17.         if (ioctl(fd, SIOCSIFADDR, &ifr) < 0)
  18.         {
  19.                 close(fd);
  20.                 return FALSE;
  21.         }

  22.         pAddr = (struct sockaddr_in *)&(ifr.ifr_addr);
  23.         bzero(pAddr, sizeof(struct sockaddr_in));
  24.         pAddr->sin_addr.s_addr = ulNetmask;
  25.         pAddr->sin_family = AF_INET;
  26.         if (ioctl(fd, SIOCSIFNETMASK, &ifr) < 0)
  27.         {
  28.                 close(fd);
  29.                 return FALSE;
  30.         }

  31.         close(fd);
  32.         return TRUE;
  33. }
復制代碼

論壇徽章:
0
5 [報告]
發(fā)表于 2006-09-26 16:00 |只看該作者
to  wuqing   看完后,肯定 發(fā)個 報告上來。

TO  飛灰橙   ,老大的 代碼 信手沾來,艾。不知道我什么時間 水平能達到這一步阿。。

   老大的代碼里面我有 幾個地方不是很明白。
  const char *pcInterface  接口名稱的參數(shù)。具體是指什么呢?艾 實在太菜

  
pAddr = (struct sockaddr_in *)&(ifr.ifr_addr);
        bzero(pAddr, sizeof(struct sockaddr_in));
        pAddr->sin_addr.s_addr = ulIP;
        pAddr->sin_family = AF_INET;
        if (ioctl(fd, SIOCSIFADDR, &ifr) < 0)
        {
                close(fd);
                return FALSE;
        }
這段代碼。進行了IP和NETMASK 的賦值后。已經(jīng)操作 系統(tǒng)的嗎?對進行  配置了嗎?

  估計大家都在 鄙視我,沒辦法。真的不會

論壇徽章:
0
6 [報告]
發(fā)表于 2006-09-26 16:12 |只看該作者
const char *pcInterface  接口名稱的參數(shù) 是 指eth0  吧?

論壇徽章:
0
7 [報告]
發(fā)表于 2006-09-26 16:21 |只看該作者
是否Linux傳入eth0,solaris下傳入hme0, bge0,HP下傳入lan0, lan1等等就可以奏效還有待測試

誰測試測試?

論壇徽章:
0
8 [報告]
發(fā)表于 2006-09-26 16:33 |只看該作者
上面的 代碼。。 (ioctl(fd, SIOCSIFADDR, &ifr) < 0)  對 對系統(tǒng)進行設置嗎?

論壇徽章:
0
9 [報告]
發(fā)表于 2006-09-26 16:36 |只看該作者
原帖由 寂寞游俠 于 2006-9-26 16:33 發(fā)表
上面的 代碼。。 (ioctl(fd, SIOCSIFADDR, &ifr) < 0)  對 對系統(tǒng)進行設置嗎?


對系統(tǒng)進行設置,是指下次開機就變成這個IP了嗎?
這個代碼恐怕辦不到。。

論壇徽章:
0
10 [報告]
發(fā)表于 2006-09-26 16:44 |只看該作者
不是的。不用重啟。。直接 該IP。系統(tǒng)的IP就變了阿。

當然了。如果。退一步。重啟 后。系統(tǒng)IP變了。那也可以的阿。

    老大的。這段代碼實現(xiàn)了 什么功能呢?  我看的不太懂亞
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP