Список аренды dnsmasq хранится в файле, который указан в параметре конфигурации dhcp-leasefile
. Для исходной версии расположение по умолчанию - /var/lib/misc/dnsmasq.leases
.
Это классическое использование netcat
. Но это unix.SE
, поэтому мой ответ будет полностью на unix.
Примечание: netcat
имеет разные имена в разных дистрибутивах:
netcat
: псевдоним nc
в некоторых дистрибутивах nc
: GNU netcat on linux или BSD netcat в * BSD ncat
: Nmap netcat, согласованный в большинстве систем Параметры между разными версиями netcat
различаются, я укажу, где разные версии могут вести себя по-разному . Более того, я настоятельно рекомендую установить версию netcat для nmap ( ncat
), поскольку ее параметры командной строки одинаковы для разных систем.
Я буду использовать ncat
в качестве имени netcat в ответе.
Чтобы использовать TCP для управления машиной через netcat
, у вас есть два варианта: использовать именованный канал (который работает со всеми версиями netcat) и использовать -e
(который существует только в версии для Linux, или, точнее, -e
в * BSD делает нечто совершенно иное).
На стороне сервера вам необходимо выполнить либо:
mkfifo pinkie
ncat -kl 0.0.0.0 4096 <pinkie | /bin/sh >pinkie
Где: 0.0.0.0
- заполнитель для «всех интерфейсов», используйте конкретный IP-адрес, чтобы ограничить его специфический интерфейс; -l
- это прослушивание, а -k
- оставить открытым (чтобы не завершать работу после одного соединения).
Другой вариант (в linux / ncat) - использовать:
ncat -kl 0.0.0.0 4096 -e /bin/sh
Для достижения того же результата.
На стороне клиента вы можете использовать свое приложение или просто выполнить:
ncat <server ip> 4096
И вы управляете оболочкой на сервере и можете отправлять команды.
UDP аналогичен, но имеет некоторые ограничения.Вы не можете использовать -k
для протокола UDP без -e
, поэтому вам нужно использовать linux / ncat для создания многоразового сокета.
На стороне сервера вы делаете:
ncat -ukl 0.0.0.0 4096 -e /bin/sh
И на стороне клиента (или из вашего приложения):
ncat -u <server ip> 4096
И снова у вас есть рабочая оболочка.