해당 패킷이 나에게 속하지 않은 경우에도 들어오는 모든 패킷을 NIC로 캡처하는 방법


13

AFAIK, NIC는 LAN에서 모든 패킷을 수신하지만 대상 주소가 IP와 같지 않은 패킷은 거부합니다.

사용자의 인터넷 사용을 모니터링하는 응용 프로그램을 개발하고 싶습니다. 각 사용자에게는 고정 IP 주소가 있습니다.

나와 다른 사람들이 DES-108 8 포트 패스트 이더넷 관리되지 않는 데스크톱 스위치에 연결되어 있습니다

앞서 말했듯이, 나에게 속한 패킷뿐만 아니라 모든 사용자의 모든 트래픽을 캡처하고 싶습니다.

NIC 또는 다른 구성 요소가 모든 패킷을 받도록하려면 어떻게해야합니까?


1
약 30 유로의 저렴하고 관리되는 스위치를 구입하고 게이트웨이 링크에서 포트 미러링을 활성화하십시오.
Max Ried

답변:


27

AFAIK, NIC는 LAN에서 모든 패킷을 수신하지만 대상 주소가 IP와 같지 않은 패킷은 거부합니다.

수정 : 대상 MAC 주소가 MAC 주소 (또는 멀티 캐스트 또는 필터의 추가 주소)와 같지 않은 패킷을 거부합니다 .

패킷 캡처 유틸리티는 네트워크 장치를 무차별 모드로 전환 할 수 있습니다. 즉, 위의 검사를 무시하고 장치가받는 모든 것을 수락합니다. 실제로 이것은 일반적으로 기본값입니다.으로 설정 하지 않으tcpdump 려면 -p옵션 을 지정 해야합니다.

더 중요한 문제는 관심있는 패킷이 스니핑 포트에 와이어로 전달되는지 여부입니다. 관리되지 않는 이더넷 스위치를 사용하고 있으므로 거의 확실하지 않습니다. 스위치는 네트워크 장치가 패킷을보기 전에 포트에서 자신에게 속하지 않은 패킷을 제거하기로 결정합니다.

이렇게하려면 관리 이더넷 스위치에서 특별히 구성된 미러링 또는 모니터링 포트에 연결해야합니다.


1
또는 이더넷 허브 ... 다락방에서 녹슬지 않는 부분이 하나라도 발견된다면 1000Base-T에 대한 내용이없는 것 같습니다.
chx

1
@chx, 모든 실제 허브는 반이중 만 지원했습니다. 개인적으로, 나는 1000Base-T를 본 적이 없다.
Celada

나는 이것이 기가비트 이더넷의 느린 흡수와 관련이 있다고 생각합니다 .1999 년 802.3ab 표준이 나왔지만 인텔이 기가비트 이더넷 전용 CSA 버스를 사용하여 875P 칩셋을 처음 출시 한 2003/2004까지 흡수가 매우 느 렸습니다. 2004 년 PCI Express는 마침내 기가비트 이더넷을위한 충분한 대역폭을 인수했습니다. 그리고 그때까지 스위치는 충분히 저렴했습니다.
chx

이더넷 스위치가 항상 프레임을 브로드 캐스트하지는 않습니다. 프레임을 유니 캐스트하기위한 자체 스위칭 테이블 (스위치 포트 및 MAC 주소 맵 포함)이 있습니다. 테이블에 프레임에 MAC에 대한 항목이 없으면 프레임을 브로드 캐스트 / 홍수합니다. 데스크탑은 다른 프레임을받지 않습니다. 답변에서와 같이 스위치에 도착하는 모든 프레임을 캡처하려면 특수 스위치를 사용해야합니다.
Valarpirai

8

초기에 이더넷 허브 (스위치가 아님)에서 전송 된 패킷은 서브넷의 모든 호스트에서 사용할 수 있지만 의도 한 수신자가 아닌 호스트는 무시해야합니다.

서브넷이 포화되는 데 오랜 시간이 걸리지 않았으므로 스위치 기술이 문제를 해결하기 위해 탄생했으며, 네트워크 스위치가 해당 호스트로 향하는 패킷 만 해당 포트로 라우팅하도록하는 스위치 중 하나 (및 앤디 브로드 캐스트 트래픽) ).

호스트 용 패킷 만 스니핑 할 수 있으므로 네트워크 모니터링 / 스니핑이 복잡해집니다. 이것은 보안 관점에서 좋은 것으로 간주되었지만 네트워크 모니터링 관점에서는 그리 좋지 않습니다. 네트워크 모니터링 작업을 수행하기 위해 공급 업체는 포트 미러링이라는 기능을 구현합니다. 이것은 네트워크 스위치에서 구성해야하며 아래 링크는 D- 링크 제품에 올바른 방향을 가리켜 야합니다. 스위치 관리 소프트웨어 또는 웹 관리 인터페이스 어딘가에 있습니다. 이러한 기능을 찾지 못하면 해당 장치에서 해당 기능이 제공되지 않을 수 있습니다.

http://www.dlink.com/uk/en/support/faq/switches/layer-2-gigabit/dgs-series/es_dgs_1210_como_monitorear_trafico_de_un_puerto_port_mirroring


2

먼저 NIC를 무차별 모드로 전환해야합니다. NIC 인터페이스가 eth0이라고 가정합니다.

root@linux#ifconfig eth0 promesc

스위치 네트워크를 사용하는 경우 스니핑이 충돌 도메인으로 축소되어 스위치 포트에 연결됩니다. macof스위치의 전달 테이블을 압도하기 위해 실행할 수 있습니다 .

root@linux#macof -i eth0

그럼 당신은 사용할 수 있습니다 wireshark또는 tcpdump모든 트래픽을 캡처 할 수 있습니다.

root@linux#tcpdump -i eth0 -w outputfile

교환 네트워크가 아닌 경우 무차별 모드를 활성화하고을 사용하십시오 tcpdump.


1
tcpdump무차별 모드를 활성화합니다. 수동으로 수행 할 필요가 없습니다 (완료되면 실행 취소해야 함).
Celada

0

당신은 바퀴를 재발 명하고 있습니다.

클라이언트가 스위치에 연결하고 인터넷에 기본 게이트웨이를 사용하는 간단한 네트워크가 있다고 가정하면 해당 기본 게이트웨이 장치에서만 모니터링하면됩니다. 이것은 LAN 클라이언트와 인터넷 사이의 모든 트래픽을 보여줄 수있는 장소입니다.

LAN 클라이언트에서 LAN 클라이언트로의 트래픽에 관심이 없다고 가정합니다. 동일한 IP 서브넷 내에있는 모든 IP 주소의 경우 로컬 트래픽이 기본 게이트웨이에 닿지 않기 때문입니다.

모든 트래픽을 실제로 보려면 각 사용자가 자신의 IP 네트워크에 있어야하고 다른 네트워크로의 트래픽은 기본 게이트웨이를 통해 이루어집니다. 각 사람에게 / 28을 할당 할 수 있으며 그들에게 14 개의 IP를 가질 수 있습니다.

일반적인 홈급 라우터는이 중 많은 부분을 처리하지 않으므로 전용 방화벽 배포를 탐색해야합니다. 개인적으로 pfsense는 내가 할 것이지만 많은 옵션이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.