Como posso adicionar uma entrada arp ativa no Win 7

0

Não consigo encontrar uma maneira de adicionar uma entrada arp ativa / dinâmica.

Tudo isso começou com o antigo exe Win32 que chama a API SetIpNetEntry para criar uma entrada arp dinâmica / ativa como parte de um processo para configurar o endereço IP em alguns hardwares incorporados. a API SetIpNetEntry retorna um código de sucesso, mas nenhuma entrada é criada. (Este código funciona perfeitamente no Win XP.)

Eu então tentei criar um manualmente via

interface netsh ip add vizinhos interface = 10 endereço="IpAddr" vizinho="MacAddr" store = ativo

Isto cria e arp entrada, mas o tipo criado é permenent. Parece apenas ignorar a loja = ativa.

Neste ponto, não consigo encontrar um caminho a partir de uma linha de comando ou API para criar uma entrada ativa / dinâmica. Eu não quero uma entrada permanente, pois se o programa de instalação tem um problema, eu não quero que essa atribuição permaneça no sistema para sempre. Eu só preciso disso por cerca de 15 segundos para atribuir um endereço IP.

    
por Kevin Gale 17.02.2012 / 18:24

1 resposta

2

C:\>arp

Displays and modifies the IP-to-Physical address translation tables used by
address resolution protocol (ARP).

ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]

  -a            Displays current ARP entries by interrogating the current
                protocol data.  If inet_addr is specified, the IP and Physical
                addresses for only the specified computer are displayed.  If
                more than one network interface uses ARP, entries for each ARP
                table are displayed.
  -g            Same as -a.
  inet_addr     Specifies an internet address.
  -N if_addr    Displays the ARP entries for the network interface specified
                by if_addr.
  -d            Deletes the host specified by inet_addr. inet_addr may be
                wildcarded with * to delete all hosts.
  -s            Adds the host and associates the Internet address inet_addr
                with the Physical address eth_addr.  The Physical address is
                given as 6 hexadecimal bytes separated by hyphens. The entry
                is permanent.
  eth_addr      Specifies a physical address.
  if_addr       If present, this specifies the Internet address of the
                interface whose address translation table should be modified.
                If not present, the first applicable interface will be used.
Example:
  > arp -s 157.55.85.212   00-aa-00-62-c6-09  .... Adds a static entry.
  > arp -a                                    .... Displays the arp table.

Portanto, algo como arp -s 157.55.85.212 00-aa-00-62-c6-09 adicionará uma entrada ao cache do ARP. Deve ser liberado eventualmente, não sobreviverá a um reboot.

    
por 17.02.2012 / 18:39