ระบบปฏิบัติการ Android มียูทิลิตีเครือข่าย Linux มาตรฐาน เช่น ifconfig, ip และ ip6tables
ยูทิลิตีเหล่านี้อยู่ในอิมเมจระบบและเปิดใช้การกำหนดค่าสแต็กเครือข่าย Linux ทั้งหมด ในอุปกรณ์ที่ใช้ Android 7.x และต่ำกว่า ระบบจะอนุญาตให้โค้ดของผู้ให้บริการเรียกใช้ไบนารีเหล่านี้โดยตรง ซึ่งจะทำให้เกิดปัญหาต่อไปนี้
- เนื่องจากยูทิลิตีเครือข่ายได้รับการอัปเดตในอิมเมจระบบ จึงใช้งานได้ไม่เสถียร
 - ขอบเขตของยูทิลิตีเครือข่ายนั้นกว้างมาก จึงทําให้พัฒนาอิมเมจระบบได้ยากขณะที่รับประกันลักษณะการทํางานที่คาดการณ์ได้
 
ในอุปกรณ์ที่ใช้ Android 8.0 ขึ้นไป พาร์ติชันของผู้ให้บริการจะยังคงเหมือนเดิมขณะที่พาร์ติชันระบบได้รับการอัปเดต Android 8.0 จึงให้ความสามารถในการกำหนดอินเทอร์เฟซที่มีเวอร์ชันที่เสถียร รวมถึงใช้ข้อจำกัด SELinux เพื่อรักษาการพึ่งพาซึ่งกันและกันของผู้ให้บริการและระบบอิมเมจให้อยู่ในชุดที่รู้จักและใช้งานได้ดี
ผู้ให้บริการสามารถใช้ยูทิลิตีการกำหนดค่าเครือข่ายที่แพลตฟอร์มให้มาเพื่อกำหนดค่าสแต็กการทํางานของเครือข่าย Linux แต่ยูทิลิตีเหล่านี้ยังไม่มีไวลด์การ์ดอินเทอร์เฟซ HIDL Android 8.0 มีเครื่องมือ
netutils-wrapper-1.0สำหรับกำหนดอินเทอร์เฟซดังกล่าว
Wrapper ของ Netutils
ยูทิลิตี netutils wrapper ให้การกำหนดค่าสแต็กเครือข่าย Linux ชุดย่อยที่ไม่ได้รับผลกระทบจากการอัปเดตพาร์ติชันของระบบ
Android 8.0 มี Wrapper เวอร์ชัน 1.0 ซึ่งช่วยให้คุณส่งอาร์กิวเมนต์เดียวกันกับยูทิลิตีที่รวมไว้ ซึ่งติดตั้งไว้ในพาร์ติชันระบบที่ /system/bin ดังนี้
u:object_r:system_file:s0 /system/bin/ip-wrapper-1.0 -> netutils-wrapper-1.0 u:object_r:system_file:s0 /system/bin/ip6tables-wrapper-1.0 -> netutils-wrapper-1.0 u:object_r:system_file:s0 /system/bin/iptables-wrapper-1.0 -> netutils-wrapper-1.0 u:object_r:system_file:s0 /system/bin/ndc-wrapper-1.0 -> netutils-wrapper-1.0 u:object_r:netutils_wrapper_exec:s0 /system/bin/netutils-wrapper-1.0 u:object_r:system_file:s0 /system/bin/tc-wrapper-1.0 -> netutils-wrapper-1.0
สัญลักษณ์ลิงก์แสดงยูทิลิตีเครือข่ายที่รวมไว้โดย netutils
Wrapper ซึ่งรวมถึง
ipiptablesip6tablesndctc
หากต้องการใช้ยูทิลิตีเหล่านี้ใน Android 8.0 ขึ้นไป การติดตั้งใช้งานของผู้ให้บริการต้องเป็นไปตามกฎต่อไปนี้
- กระบวนการของผู้ให้บริการต้องไม่เรียกใช้ 
/system/bin/netutils-wrapper-1.0โดยตรง การพยายามดำเนินการดังกล่าวจะทำให้เกิดข้อผิดพลาด - ยูทิลิตีทั้งหมดที่รวมอยู่ใน 
netutils-wrapper-1.0ต้องเปิดใช้งานโดยใช้ลิงก์สัญลักษณ์ เช่น เปลี่ยนรหัสผู้ให้บริการที่เคยดำเนินการนี้มาก่อน (/system/bin/ip <FOO> <BAR>) เป็น/system/bin/ip-wrapper-1.0 <FOO> <BAR> - นโยบาย SELinux ของแพลตฟอร์มไม่อนุญาตให้เรียกใช้ Wrapper โดยไม่เปลี่ยนโดเมน กฎนี้ต้องไม่เปลี่ยนแปลงและได้รับการทดสอบในชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS)
 - การดำเนินการกับยูทิลิตีโดยตรง (เช่น
/system/bin/ip <FOO> <BAR>) จากกระบวนการของผู้ให้บริการ และยังไม่ได้รับอนุญาตในนโยบาย SELinux ของแพลตฟอร์มด้วย กฎนี้ต้องไม่เปลี่ยนแปลงและได้รับการทดสอบใน CTS - โดเมน (กระบวนการ) ของผู้ให้บริการที่จำเป็นต้องเปิดใช้งาน Wrapper จะต้องเพิ่มกฎการเปลี่ยนโดเมนต่อไปนี้ในนโยบาย SELinux
domain_auto_trans(VENDOR-DOMAIN-NAME, netutils_wrapper_exec, netutils_wrapper) 
ตัวกรอง Wrapper ของ Netutils
ยูทิลิตีที่รวมไว้สามารถใช้เพื่อกำหนดค่าเกือบทุกแง่มุมของสแต็กเครือข่าย Linux ได้ อย่างไรก็ตาม ระบบจะอนุญาตเฉพาะชุดค่าผสมบางอย่างของอาร์กิวเมนต์บรรทัดคำสั่งเท่านั้น และปฏิเสธคำสั่งอื่นๆ เพื่อให้อินเทอร์เฟซมีเสถียรภาพและอนุญาตให้อัปเดตพาร์ติชันระบบได้
อินเทอร์เฟซและเชนของผู้ให้บริการ
Wrapper มีแนวคิดของอินเทอร์เฟซของผู้ให้บริการ อินเทอร์เฟซเหล่านี้มักได้รับการจัดการโดยโค้ดของผู้ให้บริการ เช่น อินเทอร์เฟซการรับส่งข้อมูลมือถือ โดยปกติแล้ว HAL และเฟรมเวิร์กจะจัดการอินเทอร์เฟซประเภทอื่นๆ (เช่น Wi-Fi) Wrapper จะจดจำอินเทอร์เฟซของผู้ให้บริการตามชื่อ (โดยใช้นิพจน์ทั่วไป) และอนุญาตให้โค้ดของผู้ให้บริการดำเนินการต่างๆ กับอินเทอร์เฟซเหล่านั้นได้ อินเทอร์เฟซของผู้ให้บริการในปัจจุบันมีดังนี้
- อินเทอร์เฟซที่มีชื่อลงท้ายด้วย "oem" ตามด้วยตัวเลข เช่น 
oem0หรือr_oem1234 - อินเทอร์เฟซที่ใช้โดย SOC และการใช้งาน OEM ปัจจุบัน เช่น 
rmnet_data[0-9] 
ชื่ออินเทอร์เฟซที่โดยปกติแล้วเฟรมเวิร์กจะจัดการ (เช่น wlan0) จะต้องไม่ใช่อินเทอร์เฟซของผู้ให้บริการ
Wrapper มีแนวคิดคล้ายกับเชนผู้ให้บริการ ซึ่งจะใช้ในคำสั่ง iptables และระบบจะจดจำตามชื่อด้วย ปัจจุบัน เชนผู้ให้บริการ
- เริ่มจาก 
oem_ - ใช้โดยการติดตั้งใช้งาน SOC และ OEM ปัจจุบัน เช่น เชนที่ขึ้นต้นด้วย 
nm_หรือqcom_ 
คำสั่งที่อนุญาต
คำสั่งที่อนุญาตในปัจจุบันแสดงอยู่ด้านล่าง การจำกัดจะใช้ผ่านชุดนิพจน์ทั่วไปในบรรทัดคำสั่งที่ดำเนินการ โปรดดูรายละเอียดที่ system/netd/netutils_wrappers/NetUtilsWrapper-1.0.cpp
ip
คำสั่ง ip ใช้สำหรับกำหนดค่าที่อยู่ IP, การกำหนดเส้นทาง, การเข้ารหัส IPsec และพารามิเตอร์เครือข่ายอื่นๆ อีกหลายรายการ Wrapper อนุญาตให้ใช้คำสั่งต่อไปนี้
- เพิ่มและนําที่อยู่ IP ออกจากอินเทอร์เฟซที่จัดการโดยผู้ให้บริการ
 - กำหนดค่าการเข้ารหัส IPsec
 
iptables และ ip6tables
ใช้คำสั่ง iptables และ ip6tables เพื่อกำหนดค่าไฟร์วอลล์ การเปลี่ยนรูปแบบแพ็กเก็ต NAT และการประมวลผลต่อแพ็กเก็ตอื่นๆ
Wrapper อนุญาตให้ใช้คําสั่งต่อไปนี้
- เพิ่มและลบเชนผู้ให้บริการ
 - เพิ่มและลบกฎในเชนใดก็ได้ที่อ้างอิงถึงแพ็กเก็ตที่เข้าสู่ (
-i) หรือออกจาก (-o) อินเทอร์เฟซของผู้ให้บริการ - ข้ามไปยังเชนผู้ให้บริการจากจุดใดก็ได้ในเชนอื่น
 
ndc
ndc ใช้เพื่อสื่อสารกับเดรัมน์ netd ที่จะทำการกําหนดค่าเครือข่ายส่วนใหญ่ใน Android Wrapper อนุญาตให้ใช้คำสั่งต่อไปนี้
- สร้างและลบเครือข่าย OEM (
oemXX) - เพิ่มอินเทอร์เฟซที่จัดการโดยผู้ให้บริการลงในเครือข่าย OEM
 - เพิ่มเส้นทางไปยังเครือข่าย OEM
 - เปิดหรือปิดใช้การส่งต่อ IP ทั่วโลกและในอินเทอร์เฟซของผู้ให้บริการ
 
tc
ใช้คำสั่ง tc เพื่อกำหนดค่าการจัดคิวและการกำหนดรูปแบบการรับส่งข้อมูลในอินเทอร์เฟซของผู้ให้บริการ