Есть только несколько системных вызовов, которые получают дату / время, поэтому вы можете установить библиотеку предварительной загрузки для изменения значений, возвращаемых из этих вызовов, в зависимости от того, что вы хотите сделать (что все еще несколько неясно из вопроса). Это был обычный трюк, когда тестирование 2000 года было на пике.
Похоже, https://github.com/wolfcw/libfaketime может делать то, что вы хотите, но если нет это достаточно просто, чтобы свернуть ваш собственный.
Обычно я использую tcpdump
в сочетании со сканированием nmap
, когда хочу отслеживать определенные арпы
tcpdump -ennl -i eth0 arp | grep is-at | tee foo
и пока он работает, выполните nmap
.Для этого могут потребоваться дополнительные ограничения по имени хоста или IP-адресу в зависимости от того, сколько вы хотите tcpdump
захватить.
Судя по вашему вопросу и взаимодействиям, вы, похоже, не понимаете, что MAC-адреса находятся на уровне 2 и, следовательно, являются локальными для вашей сети.
При сканировании нескольких удаленных IP-адресов за пределами вашей сети в кэше ARP появятся только ваш MAC-адрес и IP-адрес вашего локального шлюза/маршрутизатора.