3

When my phone connects to my home WiFi network, it sends DHCP request in order to get an IP address. It looks like the following:

22:50:53.743535 IP (tos 0x10, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 328)
    0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from a0:39:f7:5f:c0:45, length 300, xid 0xddd7abec, Flags [none]
          Client-Ethernet-Address a0:39:f7:5f:c0:45
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            Client-ID Option 61, length 7: ether a0:39:f7:5f:c0:45
            MSZ Option 57, length 2: 1500
            Vendor-Class Option 60, length 18: "android-dhcp-7.1.2"
            Hostname Option 12, length 9: "localhost"
            Parameter-Request Option 55, length 10:
              Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
              MTU, BR, Lease-Time, RN
              RB, Vendor-Option

As you can see, there's Vendor-Class Option 60, length 18: "android-dhcp-7.1.2" which contains the OS version. Is there a way to remove this from the request?

0

2 Answers 2

2

It's hard-coded in Java DhcpClient:

...
    private String getVendorId() {
        if (testOverrideVendorId != null) return testOverrideVendorId;
        return "android-dhcp-" + Build.VERSION.RELEASE;
    }
...

So the only way is to rebuild your ROM with modified source code. Or use a different DHCP client from command-line. For reference: Connecting to WiFi via ADB Shell.

0

You can use an extender. My Android comes in the through a TP link extender as:

Vendor-Class Option 60, length 12: "udhcp 1.22.1"

Probably not want you want, but a possibility.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .