导航:首页 > 操作系统 > androidnetmask

androidnetmask

发布时间:2022-05-20 22:54:59

A. android怎么区分wlan0,wlan1网卡

eth0,eth1,eth2……代表网卡一,网卡二,网卡三……
lo代表127.0.0.1,即localhost
wlan0代表无线网卡

在执行ifconfig 命令后,系统将在内核表中设置必要的参数,这样linux 就知道如何与网络上的网卡通信。ifconfig 命令有以下两种格式:

※ifconfig [interface]

※ifconfig interface [aftype] option | address …

ifconfig 的第一种格式(或使用不带任何参数的ifconfig 命令)可以用来查看当前系统的网络配置情况。

在刚刚安装完系统之后,实际上是在没有网卡或者网络连接的情况下使用Linux,但通过ifconfig 可以使用回绕方式工作,使计算机认为自己工作在网络上。

现在我们运行一下ifconfig 命令,不带参数的ifconfig 命令可以显示当前启动的网络接口,其输出结果为:

[root@machine1 /sbin]#ifconfig

eth0 Link encap:Ethernet HWaddr 52:54:AB:DD:6F:61

inet addr:210.34.6.89 Bcast:210.34.6.127 Mask:255.255.255.128

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:46299 errors:0 dropped:0 overruns:0 frame:189

TX packets:3057 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:100

Interrupt:5 Base address:0xece0

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:3924 Metric:1

RX packets:44 errors:0 dropped:0 overruns:0 frame:0

TX packets:44 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

其中以eth0 为首的部分是本机的以太网卡配置参数,的设这里显示了网卡的设备名/dev/eth0 和硬件的MAC 地址52:54:AB:DD:6F:61, MAC 地址是生产厂家定的,每个网卡拥有的唯一地址。

不过我们可以手工改动网卡的MAC 地址,只要我们在/etc/rc.d/init.d/中的network 中加入:

ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx

Jiania 解说 注:

eth0,eth1,eth2,代表网卡一,网卡二,网卡三

hw 代表hardware 硬件意思

ether 代表ethernet 以太网的意思

然后重启,此时再用ifconfig 命令查看一下,我们就会发现网卡的MAC 地址已经变成xx:xx:xx:xx:xx:xx了。

ifconfig配置网卡

配置网卡的IP地址

ifconfig eth0 192.168.0.1 netmask 255.255.255.0

在eth0上配置上192.168.0.1 的IP地址及24位掩码。 若想再在eth0上在配置一个192.168.1.1/24 的IP地址怎么办?用下面的命令

ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0

这时再用ifconifg命令查看,就可以看到两个网卡的信息了,分别为:eth0和eth0:0.若还想再增加IP,那网卡的命名就接着是:eth0:1、eth0:2……想要几个就填几个。ok!

配置网卡的硬件地址

ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx就将网卡的硬件地址更改了,此时你就可以骗过局域网内的IP地址邦定了。

将网卡禁用

ifconfig eth0 down

将网卡启用

ifconfig eth0 up

ifconfig 命令的功能很强大,还可以设置网卡的MTU,混杂模式等。

B. Android设置以太网静态IP

ifconfig eth0 [IP] netmask [NETMASK]
route add default gw [GATEWAY] dev eth0
setprop net.eth0.dns1 8.8.8.8
setprop net.eth0.dns2 4.4.4.4

----------------------------
getprop查看信息
激活(如果已经up可不用输此命令): eth0 UP [IP ADDR] [NETMASK] 0x(该值从getprop中来)

你可以在adb下先测试一下 netcfg 可查看网卡信息
以上中括号均去掉

C. 虚拟wifi的android机器连接问题

WifiManager wifi_service = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiinfo = wifi_service.getConnectionInfo();
Log.v("getBSSID", wifiinfo.getBSSID() + "");
Log.v("getHiddenSSID", wifiinfo.getBSSID() + "");
Log.v("getIpAddress", wifiinfo.getIpAddress() + "");
Log.v("getLinkSpeed", wifiinfo.getLinkSpeed() + "");
Log.v("getMacAddress", wifiinfo.getMacAddress() + "");
Log.v("getNetworkId", wifiinfo.getNetworkId() + "");
Log.v("getRssi", wifiinfo.getRssi() + "");
Log.v("getSSID", wifiinfo.getSSID() + "");

DhcpInfo dhcpinfo = wifi_service.getDhcpInfo();
Log.v("ipaddr", dhcpinfo.ipAddress + "");
Log.v("gatewau", dhcpinfo.gateway + "");
Log.v("netmask", dhcpinfo.netmask + "");
Log.v("dns1", dhcpinfo.dns1 + "");
Log.v("dns1", dhcpinfo.dns2 + "");
Log.v("serverAddress", dhcpinfo.serverAddress + "");

D. 请教个关于 Android 路由表的问题

一:使用 route 命令添加

使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:

//添加到主机的路由

# route add –host 192.168.168.110 dev eth0

# route add –host 192.168.168.119 gw 192.168.168.1

//添加到网络的路由

# route add –net IP netmask MASK eth0

# route add –net IP netmask MASK gw IP

# route add –net IP/24 eth1

//添加默认网关

# route add default gw IP

//删除路由

# route del –host 192.168.168.110 dev eth0

二:在linux下设置永久路由的方法:

1.在/etc/rc.local里添加

方法:

route add -net 192.168.3.0/24 dev eth0

route add -net 192.168.2.0/24 gw 192.168.3.254

2.在/etc/sysconfig/network里添加到末尾

方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev

3./etc/sysconfig/static-router :

any net x.x.x.x/24 gw y.y.y.y

第三种
使用Linux+Zebra构建软路由系统Zebra是一种TCP/IP路由软件,它支持BGP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合GNU的GPL标准,可以运行在Linux和其它Unix变体系统上。Zebra是最先进的路由软件之一,最新版本可以从GUN
Zebra Web站点上下载。

详细代码详细代码

E. 如何在程序中设置 Android 的 IP,DNS 和网关

首先需要设置权限
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>
设置的代码如下:
import android.provider.Settings;

Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_USE_STATIC_IP, "0");
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS1, "192.168.0.2");
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS2, "192.168.0.3");
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_GATEWAY, "192.168.0.1");
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0");
Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_IP, "1");

读取配置的代码如下:
String statdns1 = android.provider.Settings.System.WIFI_STATIC_DNS1;
String statdns2 = android.provider.Settings.System.WIFI_STATIC_DNS2;
String sgateway = android.provider.Settings.System.WIFI_STATIC_GATEWAY;
String staticip = android.provider.Settings.System.WIFI_STATIC_IP;
String snetmask = android.provider.Settings.System.WIFI_STATIC_NETMASK;
String staticus = android.provider.Settings.System.WIFI_USE_STATIC_IP;

F. 安卓手机如何通过数据线连电脑上网

安卓手机USB数据线连接电脑宽带上网方法如下:

一、准备工作

1.在电脑端安装好与手机型号相匹配的驱动程序(这个一般买手机时都自带有,实在不会可以使用腾讯手机管家PC版自动获取);

2.在手机端下载安装两个Android与电脑联网必须的软件:GScript和BusyBox.

3.安卓手机必须具有root权限,没有root的手机是没有办法完成的!

二、操作步骤

1.将手机通过USB数据线连接至电脑,再依次打开手机的系统设置→无线和网络→绑定与便携式热点→启用“USB绑定”。正常情况下电脑的网络连接窗口(在桌面的网上邻居上右键属性打开)就会多出一个新的本地连接,为了方便这里给它重命名为USB连接。

2.然后在下方的宽带连接上右键选择属性→切换到高级选项卡→将连接共享的选项打上对勾设为“允许”→家庭网络连接选择为“USB连接”→最后确定即可。如图设置:

busyboxrouteadddefaultgw192.168.42.1(注意不能输错哦)!完成后选择“save”保存,然后按返回键回到软件主界面选择“usb联网”脚本执行就行了。如果不出意外现在手机就已经可以连接电脑的宽带网络进行共享上网啦.

G. 安装Android-x86无法上网怎么办

1

首先确定机子是处于联网状态的。
进入Android-x86的终端模拟器(相当于Win系统的命令提示符)。
2
输入命令“ip a”获取所有网卡配置如果可以发现eth0网卡,那么恭喜,系统已经认出了VM的虚拟网卡,可以继续看下面了。如果没发现这个eth0,那么还是将此系统删除,重新安装别的版本吧。Android-x86有好几个版本,我试验之后发现eeepc的版本对网卡的支持比较好。
3
用su命令获取最高权限。
4
为网卡指定ip、掩码、网关等信息。如果DHCP可用,则执行“dhcpcd eth0”自动获取,如果没有DHCP服务可用,则可以手动指定,命令是:su ifconfig eth0 192.168.10.250 netmask 255.255.255.0 up route add default gw 192.168.10.1 dev eth0。相信能看到本文此处的小盆友都能看明白,就不再解释了。
5
设置dns。执行如下命令:setprop net.dns18.8.8.8,如果你不想用google的这个dns服务器,也可以使用本地的,不过要保证可用。
6
至此,我们已经为eth0网卡配置了ip和dns信息,登录Android-x86,打开自带的浏览器,可以发现浏览网页已经木有问题了,但是想要下载某些软件的时候,还是无法下载,下载进度条会一直停止不动,一些系统自带的服务(如地图)也仍然无法使用。这是因为系统只认wifi,没有wifi设备系统就认为没有上网,为以太网卡配置IP和DNS之后可以骗过浏览器,但是系统不认那一套,所以上网的问题只能是初步解决,希望有高手可以解决这个问题。(貌似网上已经有一位日本友人做出了VirtualBox虚拟机下的镜像,VMware下的还有待高手继续开发)另,看到有的网友提出了别的解决方案:通过“电子邮件”设置好自己的账户,然后在电脑上将需要安装的APK文件发给自己,在虚拟上打开收件箱就可以直接安装了。这倒是一种不错的解决方案。

H. 如何让Android系统或Android应用执行shell脚本

一、Android应用启动服务执行脚本
1 如何写服务和脚本
在android源码根目录下有/device/tegatech/tegav2/init.rc文件相信大家对这个文件都不陌生(如果不明白就仔细研读下android启动流程)。如果在该脚本文件中添加诸如以下服务:
service usblp_test /data/setip/init.usblpmod.sh
oneshot
disabled
注解:每个设备下都会有自己对应的init.rc,init.设备名.rc脚本文件。oneshot disabled向我们说明了在系统启动的时候这个服务是不会自动启动的。并且该服务的目的是执行/data/setip/init.usblpmod.sh脚本。脚本的内容你可以随便写,只要符合shell语法就可以了,比如脚本可以是简单的设置eth0:
# ! /system/bin/sh //脚本的开头必须这样写。
Ifconfig eth0 172.16.100.206 netmask 255.255.0.0 up//设置ip的命令
2、如何在应用中启动服务
1)首先了解下在服务启动的流程
1. 在你的应用中让init.rc中添加的服务启动起来。
首先了解下在服务启动的流程:
在设备目录下的init.c(切记并不是system/core/init/init.rc)
Main函数的for(;;)循环中有一个handle_property_set_fd(),函数:
for (i = 0; i < fd_count; i++) {
if (ufds[i].revents == POLLIN) {
if (ufds[i].fd == get_property_set_fd())
handle_property_set_fd();
else if (ufds[i].fd == get_keychord_fd())
handle_keychord();
else if (ufds[i].fd == get_signal_fd())
handle_signal();
}
}
这个函数的实现也在system/core/init目录下,该函数中的check_control_perms(msg.value, cr.uid, cr.gid)函数就是检查该uid是否有权限启动服务(msg.value就是你服务的名字),如果应用为root或system用户则直接返回1.之后就是调用handle_control_message((char*) msg.name + 4, (char*) msg.value),该函数的参数就是去掉1.ctl.后的start和2.你服务的名字。这个函数的详细内容:
void handle_control_message(const char *msg, const char *arg)
{
if (!strcmp(msg,"start")) {
msg_start(arg);
} else if (!strcmp(msg,"stop")) {
msg_stop(arg);
} else if (!strcmp(msg,"restart")) {
msg_stop(arg);
msg_start(arg);
} else {
ERROR("unknown control msg '%s'\n", msg);
}
}
匹配start后调用msg_start.服务就这样起来了,我们的解决方案就是在检查权限的地方“下点功夫”,因为我们不确定uid,所以就让check_control_perms这个函数不要检查我们的uid,直接检查我们服务的名字,看看这个函数:
static int check_control_perms(const char *name, unsigned int uid, unsigned int gid) {
int i;
if (uid == AID_SYSTEM || uid == AID_ROOT)
return 1;
/* Search the ACL */
for (i = 0; control_perms[i].service; i++) {
if (strcmp(control_perms[i].service, name) == 0) {
if ((uid && control_perms[i].uid == uid) ||
(gid && control_perms[i].gid == gid)) {
return 1;
}
}
}
return 0;
}
这个函数里面是必须要检查uid的,我们只要在for循环上写上。
if(strcmp(“usblp_test”,name)==0) //usblp_test就是我们服务的名字。
return 1;
这样做不会破坏android原本的结构,不会有什么副作用。
init.c和init.rc都改好了,现在就可以编译源码了,编译好了装到机子开发板上就可以了。

I. 求助 如何在程序中设置Android的以太网IP地址

ifconfig eth0 [IP] netmask [NETMASK]
route add default gw [GATEWAY] dev eth0
setprop net.eth0.dns1 8.8.8.8
setprop net.eth0.dns2 4.4.4.4

----------------------------
getprop查看信息
激活(如果已经up可不用输此命令): eth0 UP [IP ADDR] [NETMASK] 0x00001043(该值从getprop中来)

你可以在adb下先测试一下 netcfg 可查看网卡信息
以上中括号均去掉

阅读全文

与androidnetmask相关的资料

热点内容
python输出路径为超链接 浏览:529
caxa为什么没有加密锁 浏览:790
服务器怎么设置才能用IP访问 浏览:661
邮件附件加密后打开能显示吗 浏览:723
荣耀x10拍照算法 浏览:569
androidgradle配置签名 浏览:96
文件夹左边的空心三角符号是什么 浏览:285
app英语音频试卷扫码怎么听 浏览:613
字符串编译预处理 浏览:703
苹果手机怎么会显示多个App 浏览:241
不去互联网程序员 浏览:553
电脑qq邮箱解压的图片保存在哪里 浏览:548
嵌入命令行 浏览:92
档案为什么被加密 浏览:487
十天学会单片机13 浏览:876
荣耀怎么设置让app一直运行 浏览:994
共享文件夹能在哪里找到 浏览:436
旅游订旅店用什么app 浏览:241
一个女程序员的声音 浏览:497
魔术app怎么用 浏览:341