導航:首頁 > 操作系統 > 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相關的資料

熱點內容
雲伺服器建設原理 瀏覽:256
javajunit4for 瀏覽:845
華為伺服器如何進陣列卡配置 瀏覽:435
apache伺服器ip地址訪問 瀏覽:718
如何買到安卓手機預裝軟體 瀏覽:537
冤罪百度雲不要壓縮 瀏覽:86
蘇州雲存儲伺服器 瀏覽:173
解壓收納原聲 瀏覽:385
java注冊驗證 瀏覽:375
火花app怎麼上推薦 瀏覽:980
什麼app能游戲投屏到電視上 瀏覽:455
伺服器託管到雲端是什麼意思 瀏覽:835
app保存草稿怎麼用 瀏覽:808
安卓如何進入proumb 瀏覽:144
主機虛擬雲伺服器 瀏覽:619
刪除分區加密的空間會不會恢復 瀏覽:706
京東app客戶上門怎麼看搜索量 瀏覽:741
怎麼在農行app購買黃金 瀏覽:46
c型開發板和單片機 瀏覽:146
虛擬機建立用戶的模板文件夾 瀏覽:905