admin管理员组

文章数量:1516870

在终端下输入adb shell,进入android的终端中,输入netcfg 会得到以下结果:

root@ardbeg:/ # netcfg
ip6tnl0  DOWN                                   0.0.0.0/0   0x00000080 00:00:00:00:00:00
wlan0    DOWN                                   0.0.0.0/0   0x00001002 00:90:4c:11:22:33
rmnetctl DOWN                                   0.0.0.0/0   0x00000080 00:00:00:00:00:00
lo       UP                                   127.0.0.1/8   0x00000049 00:00:00:00:00:00
sit0     DOWN                                   0.0.0.0/0   0x00000080 00:00:00:00:00:00
eth0     UP                                     0.0.0.0/0   0x00001003 92:a5:82:29:53:e4

    其中第一项为网卡接口类型,第二项为打开关闭状态,第三项为分配的ip地址,第四项为接口标志,第五项为硬件地址。netcfg的源码在系统下位置为:platform/systom/core/netcfg/netcfg.c 

首先看下它的主函数:

int main(int argc, char **argv)
{
    char *iname;
    int n;
    
    if(ifc_init()) {
        die("Cannot perform requested operation");
    }
    if(argc == 1) {
        int result = dump_interfaces();
        ifc_close();
        return result;
    }
    if(argc < 3) usage();
    iname = argv[1];
    if(strlen(iname) > 16) usage();
    argc -= 2;
    argv += 2;
    while(argc > 0) {
        for(n = 0; CMDS[n].name; n++){
            if(!strcmp(argv[0], CMDS[n].name)) {
                char *cmdname = argv[0];
                int nargs = CMDS[n].nargs;
                
                argv[0] = iname;
                if(argc < nargs) {
                    fprintf(stderr, "not enough arguments for '%s'\n", cmdname);
                    ifc_close();
                    exit(1);
                }
                if(call_func(CMDS[n].func, nargs, argv)) {
                    fprintf(stderr, "action '%s' failed (%s)\n", cmdname,

本文标签: 输入解析编程