arp --delete는 항목을 삭제하지 않습니다. 단순히 "불완전한"항목으로 표시


10
$ sudo arp -avn
? (10.10.7.30) at 00:cc:cc:bb:dd:86 [ether] on eth0
...

$ sudo arp --delete 10.10.7.30

$ sudo arp -avn
? (10.10.7.30) at <incomplete> [ether] on eth0

--delete나는에 대한 항목을 예상 10.10.7.30. 예기치 않게 항목이 유지되고로 표시 <incomplete>됩니다.

우분투 10.04 사용하기 .

답변:


10

항목이 제거되며 인내심을 가지십시오.

(가장 짧은 대답을 원하면 : 불완전한 == 삭제됨)

"삭제"가 동작에 대한 잘못된 단어라고 가정 해 봅시다. 여기서 실제로 발생하는 것은 항목이 시스템에 실제로 도달 할 수없는 것처럼 "요청이 전송되고 응답이 없습니다" ( "불완전한"ARP 프로세스) 상태로 수동 설정됩니다 .

그 동안 새로운 유효한 ARP 응답을받지 않으면 항목이 곧 완전히 제거됩니다. 이 경우 불완전한 것으로 표시되지 않고 제거 된 경우에도 항목이 다시 추가됩니다. 따라서이 동작에 대한 실제 장단점이 없습니다.

그러나 우리는 캐시에 대해 이야기하고 있음을 명심하십시오. 캐시에서 항목을 삭제하는 것은 어렵고 비용이 많이 듭니다. 항목을 무효화하고 항목이 제거되기 전에 기다려 항목을 제거하는 것이 더 효율적입니다. 그러나 시스템의 경우 항목이 목록에서 사라지거나 불완전한 것으로 표시되면 전혀 차이가 없습니다.


그리고 실제로 목적지를 알아야 할 경우 "새"ARP 쿼리를 트리거 할 수 있도록 실제로 삭제할 방법이 없습니까?
Skaperen

1
그러나 바로 여기에 있습니다. "불완전"으로 표시된 항목을 찾은 경우 새 ARP 요청이 전송됩니다. 응답되면 항목이 업데이트되고 더 이상 "불완전"하지 않습니다. 답변이 반환되지 않으면 일정 시간이 지나면 목록에서 해당 항목이 제거됩니다. (그래서 항목을 수동으로 "삭제"하는 것이 무의미하다고 생각하는 이유입니다. 기계가 작동하는 경우 항목이 새로 고쳐집니다. 실제로 사라지면 항목을 수동으로 "
Karma Fusebox

... IP 주소의 ARP 주소를 "변경"하고 싶을 수도 있습니다. 이 특별한 경우 수동으로 "-삭제"하고 다음 ARP 요청이 새 주소를 반환하도록 할 수 있습니다. 그러나이 시나리오에서는 항목이 목록에서 눈에 띄게 제거되거나 "불완전"으로 표시 되어도 전혀 문제가되지 않습니다. 관련된 기술도 마찬가지입니다.
Karma Fusebox

@KarmaFusebox이 캐시가 어디에 있는지 알고 있습니까? 프로세스 메모리에 있습니까? 그렇다면 어떤 프로세스입니까? 아니면 커널에 의해 유지됩니까? 디스크상의 파일? 다른 곳?
JamesThomasMoon1979

@KarmaFusebox 항목을 수동으로 추가하여 영구 플래그를 설정 한 경우 항목을 삭제하는 것이 좋습니다.
cha5on


3

다른 훌륭한 답변 외에도 arp 캐시를 제거하여 완전히 나타낼 수 있다고 언급 할 가치가 있습니다. 덜 고통스러운 방법 중 하나는 다음과 같습니다.

ip link set arp off dev eth0 ; ip link set arp on dev eth0

모든 항목을 제거해야합니다 (상태에 상관없이).

다른 방법으로는 인터페이스 다운 및 업 및 arp 캐시를 완전히 제거하고 다시 만드는 유사한 방법이 있습니다.


1
이것이 정답입니다. 나는 이것이 정확히 필요했다. "불완전한"또는 "한동안 도달하지 않은"항목을 표시하는 것만이 아닙니다. 감사합니다.
존 해밀턴

0

나는 이것이 명백하게 들릴 수 있다는 것을 알고 있지만, 껍질을 다루는 데 익숙하지 않은 사람들에게는 이것이 나의 제안입니다.

@KarmaFusebox의 답변에서 시작하여 단순히 결과 grep 하지 않습니까? :

arp -a | grep "incomplet" -i -v

기존 / 활성 캐시 항목 만 표시됩니다.
나는 그것이 POSIX 호환 명령 이라고 계속 생각합니다 . 그리고 이것이 필요한 경우 스크립트 가능한 방법입니다.


나는 왜 arp이런 식으로 행동하는지 에 대한 합리적인 설명을 찾고 있습니다. 특이한 것 같습니다. 접선으로 항목을 arp강제로 제거 할 수 <incomplete>있습니까?
JamesThomasMoon1979

글쎄, @ JamesThomasMoon1979, 나는 오히려 이런 식으로 행동하지 않는 것처럼 보이는 시스템 (즉, Windows 콘솔)에서 실제로라고 말합니다. 유일한 차이점은 incompletearp cache list 명령에 항목을 표시하지 않는다는 것 입니다.
Sopalajo de Arrierez 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.