to receive UDP DHCP packets on a dedicated interface, you have to use the undocumented option SO_BINDTODEVICE:<?php$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);socket_set_option($socket, SOL_SOCKET, SO_BINDTODEVICE, 'eth1');socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, 1);socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);socket_set_option($socket, SOL_SOCKET, SO_REUSEPORT, 1);socket_bind($socket, '255.255.255.255', 67);while (1) { if ($src = @socket_recv($socket, $data, 9999, 0)) { echo $data . PHP_EOL; }}?>