導航:首頁 > 操作系統 > androidwlan0

androidwlan0

發布時間:2023-01-15 02:30:42

android 蜂窩和 wifi 網路

可參考,同時使用 蜂窩 和 wifi 連接
https://blog.csdn.net/lqxandroid2012/article/details/79071027

netcfg 命令查看
當打開 wifi 時,wlan0 為 up 狀態

當連接上蜂窩網路(蜂窩可用)時,wlan0 為 up 狀態,rmnet0 也是 up 狀態

當蜂窩可用且連接 wifi 時,rmnet0 狀態為 DOWN,wlan0 顯示的有 ID

② Android 6.0 策略路由

實現648 Android 6.0端與410 linux端通過Switch通信

1. 虛擬網卡配置

648中延用638中方法在有線網路介面eth0上創建虛擬網卡eth0.1並設置ip 10.66.1.3用以與410地址10.66.1.2通信。

配置結果可通過命令「ifconfig」查看:

並且配置完成後,系統路由表中會自動多出一條路由:

2. Android M 多網路共存

經過步驟一的配置之後在638 Android 4.4系統上即可與410建立通信;但在648 Android 6.0上是不通的。此問題查詢了很長時間終於有了解決方案,且聽我細細道來。

Android4.4隻使用了一張路由表,使用busybox route就可以完成路由表的設置,從Android5.0之後,考慮要對多網路的支持,採用了多路由表。Android 5.0(LOLLIPOP)以上,在同一時間下,Android系統可以允許多網路類型連接,而且並不是簡單的網路共存,而是每個網路有一套自己的dns,網關,路由表。比如eth0,wlan0分別有自己獨立的一套。應用層在建立socket連接的時候,可以自由選擇使用那套網路;在這樣子的前提下,你就可以選擇究竟採用那種網路來完成你的請求。這里還涉及到另一個新的概念不同網路的標識netid,應用層可通過綁定指定的netid來設置該應用走指定的網路,但此處暫不贅述有興趣可自己了解。在Android 5.0(LOLLIPOP)之前,在同一時間下,Android系統只能允許一種網路類型連接。之後在多網路的情況下,系統是如何選擇的呢?這就需要引入一個關鍵名詞「策略路由」。

策略路由在linux中已經存在很久,但是Android5.0開始才真正將其作用發揮出來。策略路由區別於一般的路由就在於,一般的路由是以目的地址作為識別與區分的標識,例如下面這個路由表,它表示所有目的地址為192.168.7.0/24的數據包都直接從eth0發出

當面對比較復雜的情況時,這種基於目的地址的路由,就很受局限。例如:有兩個網卡eth0, eth1,希望所有http上網數據從eth0出去,FTP數據從eth1出去。這種情況就必須要策略路由才能處理。

策略路由的基本命令:

648上策略路由信息:

各部分解釋

整行的意思就是,如果一個數據包符合規則(源地址、目的地址、協議、埠、數據包大小、內容等),則使用指定路由表。

系統最多支持255個路由表:

在默認情況下進行路由時,首先會根據規則0在本地路由表裡尋找路由,如果目的地址是本網路,或是廣播地址的話,在這里就可以找到合適的路由;從這個路由規則中可以看到, 路由表 local優先,然後是netid 對應 0x10064 的走 eth0 路由表,對應 0x10066 走 eth0 路由表。而通常情況下訪問網路時沒有設置 netid,默認就使用 22000: from all fwmark 0x0/0xffff lookup eth0 這個,即 eth0 路由表。

有了策略路由,就可以保證當多網卡存在是,每個網卡有自己的路由表,為多網卡共存提供路由基礎。上層應用,可以選擇要經過的路由。

此處沒有走eth0.1到10.66.1.2的路由策略,需添加:

3. Linux 路由與策略路由

Linux是在內核2.1開始採用策略性路由機制的。策略性路由機制與傳統的路由演算法相比主要是引入了上面的多路由表以及規則的概念。

要配置一個策略路由有2步:

1、在自定義路由表中添加要走的路由 ip route add xxx table table_num

2、增加策略,使得符合該策略的流量走第一步所定義的路由表 ip rule add 策略 【table tablenum 或 動作】。

傳統的linux路由是由一張路由表去保存網路鏈路上的路由信息的。新的linux策略路由的理念是使用多張路由表去保存路由信息。何為策略路由呢,就是為不用的數據包制定不同的路由策略,即在IP路選時走不同的路由。

在策略路由機制中,可以支持多張路由表,最多可支持255張表。其中4張是內置路由表,如下:

策略路由的作用

1 基於源地址選路( Source-Sensitive Routing)

2 根據服務級別選路( Quality of Service)

3 節省費用的應用

4 負載平衡(Load Sharing)

③ 監控android終端流量,只計算wlan0嗎

一、通過pid獲取流量

獲取應用的pid adb shell ps | grep packagename
通過pid獲取該進程的流量信息 adb shell cat /proc/"+Pid+"/net/dev"
計算wlan0,所有列上傳和下載的流量之和

這里的wlan0代表wifi 下載上傳所有數據,數值單位是位元組,可以/1024換算成KB

註:由於pid只在app進程啟動時才能獲取,對獲取app啟動流量不太方便,多進程應用需要多個pid結果之和。

二、通過userId獲取流量

獲取應用的userId adb shell mpsys package packageName | findstr userId
通過uid獲取流量 adb shell cat /proc/net/xt_qtaguid/stats | findstr userId
計算wlan0行,第6列和第8列的和

與方法一不同的是,這里第6列和第8列,分別代表下載與上傳

註:通過userId還有另一種方法

adb shell cat /proc/uid_stat/userId /tcp_rcv

adb shell cat /proc/uid_stat/userId /tcp_snd

可分別獲取下載和上傳流量,適用Android 早期版本,但不能區分移動流量和wifi流量

三、通過tcpmp和wireshark計算流量

root機型下,把tcpmp工具push到sd卡
使用tcpmp命令,監控測試期間的流量,並生成pcap文件
導出pcap文件,並使用wireshark打開
過濾被app有關的數據,求和計算

④ Android WiFi調試常用標簽(Tag)

都知道的,要看Android log如果不加過濾器,那麼對應的信息量極其的龐大,要在這些大信息量找到我們關心的可能需要耗費比較長的時間,所以對於在調試WiFi過程,那些標簽是需要關注的呢?

WiFi的核心服務,是啟動整個WiFi服務的,它在我們的logcat關注范圍內

WiFi的掃描服務,一般我點開或者進入到WiFi列表頁面里,這個服務在後台幫我們刷新熱點,同樣在logcat關注的范圍內

關於有線與WiFi的切換,以及系統關於網路的鏈接,它幫忙在管著事呢,所以也在logcat關注的范圍內

系統網路相關的命令執行需要涉及到它,比如像Setting iface up 或者bring up eth0 這些事兒,它幫忙在處理,同樣也在WiFi調試時logcat關注范圍內

這個標簽也是比較常用到,在hardware/libhardware_legacy/wifi/wifi.c裡面,主要幫忙實現drv的載入/卸載,以及處理與wpa_supplicant之間相關事件的通信,常用於前期的WiFi Drv導入調試比較多,所以也在logcat關注范圍內

這是一個類似鏈接的服務,一般用於 Tethering wlan0 或者 等等,可以幫忙輔助調試WiFi流程,也在logcat關注范圍內

對於可以支持軟體AP的WiFi Dongle設備來說,這是一個很關鍵的服務(工具),一般用來初始化設置軟AP的參數(ssid、channel、psk、wpa、帶寬等參數)詳細具體可參考 hostapd.conf

WiFi中心處理樞紐,很多的WiFi狀態處理都離不開它,所以也是在logcat需要關注的范圍

它在系統網路有著重要的地位,因為其處理的業務包含了dns,路由控製表, dhcp相關等等,可以這么說,系統網路涉及到無法ping通一些特定的域名或者網站,可以來這里找找原因,所以它也在logcat關注范圍內,其中該文件在/system/netd/server/TetherController.cpp,

一個神奇且強大的工具,集中了dns,dhcp,router等功能,它很適合在一些小網路(輕量級)架構發揮著強大的作用,詳細可以參見 這里
可以看下它工作時列印

以上主要為調試WiFi 軟AP常用的Tag
對應的logcat 命令如下

在切換到 Sta 狀態時,我們需要重點關注wpa_supplicant對應的log
開啟wpa_supplicant的log,只需要修改一個地方即可,在找到對應init.xx.rc啟動wpa_supplicant進程,在啟動前添加 -dd的參數(將wpa_supplicant log 級別設為debug)即可,後續關於wpa_supplicant調試會繼續更新整理

⑤ 淫技:android無屏操作之adb操控wifi

1.開啟wpa_supplicant服務端

meta_wpa_supplicant.conf是配置文件,ctrl_interface是wpa_supplicant與wpa_cli通信的介面,ssid為要連接的wifi熱點名稱,key_mgmt為加密方式(NONE表示不加密 O(∩_∩)O~)。

2.wpa_cli連接wpa_supplicant

3.掃描wifi

4.使能network0

上面都是完整的語句,我們可以直接使用/system/bin/wpa_cli -iwlan0 -p /data/misc/wifi/sockets進入wifi命令模式,如下圖所示,wifi命令模式下可以直接使用scan,status等指令

成功連上了TE-NonSignal的wifi,你可能會納悶,怎麼執行enable_network 0就連上了呢?手機怎麼知道network 0是什麼鬼呢?上面說了有個配置文件meta_wpa_supplicant.conf,有了這個配置文件就會自動連接TE-NonSignal網路了。

上面是使用配置文件去連接網路,當然我們也可以用命令行去連接網路啦
執行scan
然後執行scan_result,下圖為掃描結果

例如我們要連個公共網路OPPO-SZ,首先我們執行
add_network 如下圖返回4,說明接下來要連接的network的id為4

依次執行
set_network 4 ssid "OPPO-SZ"
set_network 4 key_mgmt NONE
enable_network 4
如下圖,說明成功連接上wifi了

⑥ 【原創】安卓開啟WIFI調試

拿手機來調試,一天下來沒多久就滿電了,怕電池hold不住,找了個遠程調試的辦法。下面是操作步驟,給有需要的人幫助。

1、手機開啟USB調試模式

2、將手機連接到電腦上

3、命令行執行adb tcpip 5555(啟動手機上的adbd守護進程,並監聽5555埠,默認埠為5555,可使用其它埠)

4、獲取手機連接的wifi地址(命令行查看adb shell ip address show wlan0)

5、通過adb connect命令連接

註:adb connect需要和adb tcpip所使用的埠一致,如果不一致,則無法連接到該手機。

⑦ android 使用乙太網 wlan0沒有

可以嘗試把eth0映射到wlan0,或者直接在windows里用virtualbox虛擬機安裝,依靠虛擬機配置網路(hyper-v不行)

⑧ Android如何關掉wlan0

可進入手機設定-WLAN-菜單-高級設定-去掉總是允許掃描勾選

⑨ android 獲取藍牙Mac地址

android 從6.0開始,通過BluetoothAdapter.getDefaultAdapter().getAddress()獲取的地址是一個固定值02:00:00:00:00:00。6.0已經對藍牙Wi-Fi的MAC地址做了隱藏。

以下方法能正確的獲取android自帶藍牙的Mac地址:

1.添加net.vidageek:mirror:1.6.1

2.實現過程

本人也嘗試過其他方法獲取,比如從cat /sys/class/net/wlan0/address 或者/sys/class/net/eth0/address路徑獲取,該方式有些手機能獲取得到,有的不能或缺,獲取到的Mac 地址還不一定準確。

⑩ 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,混雜模式等。

閱讀全文

與androidwlan0相關的資料

熱點內容
初二多項式乘法速演算法 瀏覽:453
android多個布局文件 瀏覽:627
奔跑程序員 瀏覽:468
伺服器如何搭建類似github 瀏覽:292
明日之後安卓太卡怎麼辦 瀏覽:502
如何使用命令方塊找到村莊 瀏覽:766
泛函壓縮映像原理 瀏覽:521
win10清除文件夾瀏覽記錄 瀏覽:964
如何查看伺服器域中所有服務 瀏覽:384
學mastercam91編程要多久 瀏覽:999
如何查伺服器地址和埠 瀏覽:911
教學雲平台app怎麼下載 瀏覽:389
單片機510教學視頻 瀏覽:624
陝西信合app怎麼查看自己的存款 瀏覽:663
風冷冰箱有壓縮機 瀏覽:274
android實現wifi連接wifi 瀏覽:669
飛豬app怎麼幫別人值機 瀏覽:924
筆記本開我的世界伺服器地址 瀏覽:546
怎樣隱藏bat命令 瀏覽:127
android開發創意 瀏覽:138