네트워크 내에 불량 DHCP 서버가 있는지 확인하는 가장 좋은 방법은 무엇입니까?
대부분의 관리자가 이러한 종류의 문제에 어떻게 접근하는지 궁금합니다. 검색을 통해 DHCP 프로브 를 발견 하고 시도해 보았습니다. 누구든지 경험이 있습니까? (컴파일하고 설치하는 데 시간을 내기 전에 알고 싶습니다).
불량 DHCP 서버를 찾는 데 유용한 도구 나 모범 사례를 알고 있습니까?
네트워크 내에 불량 DHCP 서버가 있는지 확인하는 가장 좋은 방법은 무엇입니까?
대부분의 관리자가 이러한 종류의 문제에 어떻게 접근하는지 궁금합니다. 검색을 통해 DHCP 프로브 를 발견 하고 시도해 보았습니다. 누구든지 경험이 있습니까? (컴파일하고 설치하는 데 시간을 내기 전에 알고 싶습니다).
불량 DHCP 서버를 찾는 데 유용한 도구 나 모범 사례를 알고 있습니까?
답변:
간단한 방법 중 하나는 컴퓨터에서 tcpdump / wireshark와 같은 스니퍼를 실행하고 DHCP 요청을 보내는 것입니다. 실제 DHCP 서버 이외의 다른 제안이 있으면 문제가있는 것입니다.
tcpdump
, arp
명시 적 매개 변수와 이러한 매개 변수의 설명과 등.
다른 답변 중 일부를 요약하고 추가하려면 다음을 수행하십시오.
프로덕션 DHCP 서버를 일시적으로 비활성화하고 다른 서버가 응답하는지 확인하십시오.
ipconfig /all
Windows 시스템에서 실행하여 서버의 IP 주소를 얻을 수 있으며를 사용하여 해당 IP 주소를 찾아 MAC 주소를 얻을 수 있습니다 arp -a
.
Mac에서는 ipconfig getpacket en0
(또는 en1)을 실행하십시오 . http://www.macosxhints.com/article.php?story=20060124152826491을 참조 하십시오 .
DHCP 서버 정보는 일반적으로 / var / log / messages에 있습니다. sudo grep -i dhcp /var/log/messages*
프로덕션 DHCP 서버를 비활성화하는 것은 물론 좋은 옵션이 아닐 수 있습니다.
불량 DHCP 서버를 찾는 도구를 사용하십시오.
도구 목록 (다수의 다른 답변에 나열된 도구) 은 http://en.wikipedia.org/wiki/Rogue_DHCP 를 참조하십시오 .
DHCP 오퍼를 차단하도록 스위치 구성
불량 DHCP 서버를 방지하도록 대부분의 관리되는 스위치를 구성 할 수 있습니다.
dhcpdump- 입력 형식 tcpdump를 사용 하고 DHCP 관련 패킷 만 표시합니다. LAN에서 가짜 DHCP로 위장하여 루트킷 Windows를 찾는 데 도움이되었습니다.
Wireshark / DHCP 탐색기 / DHCP 프로브 접근 방식은 한 번 또는 주기적으로 확인하는 것이 좋습니다. 그러나 네트워크에서 DHCP 스누핑 지원을 조사하는 것이 좋습니다 . 이 기능은 네트워크의 불량 DHCP 서버로부터 지속적인 보호를 제공하며 여러 하드웨어 공급 업체에서 지원합니다.
Cisco 문서에 표시된 기능 세트는 다음과 같습니다 .
• 신뢰할 수없는 출처에서받은 DHCP 메시지의 유효성을 검사하고 잘못된 메시지를 필터링합니다.
• 신뢰할 수있는 소스와 신뢰할 수없는 소스의 DHCP 트래픽을 속도 제한합니다.
• 임대 IP 주소를 가진 신뢰할 수없는 호스트에 대한 정보가 포함 된 DHCP 스누핑 바인딩 데이터베이스를 작성하고 유지 관리합니다.
• DHCP 스누핑 바인딩 데이터베이스를 사용하여 신뢰할 수없는 호스트의 후속 요청을 확인합니다.
dhcploc.exe 는 Windows 시스템에서 가장 빠르고 편리한 방법입니다. XP 지원 도구에서 사용할 수 있습니다. 지원 도구는 모든 OEM / 소매 XP 디스크에 있지만 일부 OEM이 제공하는 "복구 디스크"에있을 수도 있고 없을 수도 있습니다. MS에서 다운로드 할 수도 있습니다 .
간단한 명령 줄 도구입니다. dhcploc {yourIPaddress}를 실행 한 다음 'd'키를 눌러 가짜 발견을 수행하십시오. 키를 누르지 않고 실행 상태로두면 모든 DHCP 요청이 표시되고 응답합니다. 'q'를 눌러 종료하십시오.
필터로 사용 하는 것에 대한 l0c0b0x 의 의견 을 확장합니다 bootp.type == 2
. bootp.type 필터는 Wireshark / tshark에서만 사용할 수 있습니다. tcpdump에서는 그의 의견의 맥락 적 위치가 저를 믿도록 기울여 놓았습니다.
Tshark는이를 위해 완벽하게 작동합니다.
우리는 네트워크를 수많은 브로드 캐스트 도메인으로 나누었습니다. 각각은 "로컬"브로드 캐스트 도메인과 관리 서브넷에서 어떤 방식 으로든 존재하는 자체 Linux 기반 프로브를 가지고 있습니다. ClusterSSH 와 결합 된 Tshark를 사용하면 네트워크의 추가 구석에서 DHCP 트래픽이나 그 밖의 문제를 쉽게 찾을 수 있습니다.
Linux를 사용하여 DHCP 응답을 찾을 수 있습니다.
# ifconfig ethX promisc
# tshark -i ethX -n port 68 -R 'bootp.type == 2'
tcpdump: syntax error
. 그것에 대한 질문을 게시해도 귀하의 답변으로 인해 차단이 해제되었습니다. 감사합니다! networkengineering.stackexchange.com/questions/39534/…
-R <Read filter>
. 나는 얻는다 tshark: -R without -2 is deprecated. For single-pass filtering use -Y.
. -Y
잘 작동합니다.
주 DHCP 서버를 비활성화하고 연결을 다시 구성하십시오.
IP 주소를 얻는다면 불량품입니다.
리눅스가 편리한 경우 표준 dhcpclient가 DHCP 서버의 IP 주소를 알려줍니다 (그렇지 않으면 트래픽을 스니핑하여 DHCP 응답의 출처를 알 수 있습니다).
소규모 네트워크를 실행하는 가장 간단한 방법은 dhcp 서버를 끄고 / 비활성화 / 플러그를 뽑은 다음 클라이언트에서 ipconfig / renew 또는 이와 유사한 방법을 실행하고 IP를 얻거나 얻는 경우 여러 가지 방법이 있습니다. 회로망.
다른 방법은 Wireshark 패킷 캡처 / 분석기 를 사용 하여 네트워크 트래픽을보고 DHCP 연결을 찾는 것 입니다. 여기 에서이 작업을 수행하는 방법에 대한 랩 워크 시트가 있습니다 .
이 작업을 수행 할 수있는 유틸리티는 DHCP 탐색기 이며 다른 게시물은 원래 게시물에서 언급 한 DHCP 프로브입니다.
Microsoft에서 RogueChecker를 사용할 수 있습니다.
원본 링크 : http://blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
이 정보도 읽으십시오 :
데비안 / 우분투 하나는 사용하는 옵션이 있습니다 dhcpdump
및 / 또는 tcpdump
등의 도움으로dhclient
dhcpdump를 사용하십시오.
dhcpdump -i eth0
하나의 쉘 / 쉘 (eth0 또는 인터페이스 이름)에서 실행dhclient
다른 쉘에서 시작 (성공적으로 실행할 필요는 없음)dhcpdump
정보 의 결과물을 살펴 본다 (가장 자세하고 유용한 정보를 제공하는 멋진 형식의 목록이어야 함)dhcpdump를 사용하지 않으려는 경우 옵션 2 :
tcpdump -i eth0 -t -n > /tmp/my_file.txt
하나의 쉘 / 창에서 실행 -t
= 타임 스탬프 비활성화 // -n
= 이름 확인 비활성화, IP 주소 만, 서버 이름 없음 (RHEL / centos 사용 -nn))dhclient
다른 쉘에서 시작 (성공적으로 실행할 필요는 없음)* sidenote : tcpdump 및 dhcpdump가 설치되어 있어야합니다 (예 :) sudo apt get install tcpdump dhcpdump
; dhcpdump는 tcpdump에 의존
하나는 모니터링을위한 것이고 다른 하나는 요청을 보내는 것입니다. 터미널 1은 MAC 주소를 포함한 모든 기존 DHCP 서버의 응답을 보여줍니다. 이 예제는 Ubuntu에서 실행되었습니다.
터미널 1 (모니터링 용) :
sudo tcpdump -nelt udp 포트 68 | grep -i "boot. * 답장"
tcpdump : 상세 출력 억제, enp2s0, 링크 유형 EN10MB (이더넷), 캡처 크기 262144 바이트 20 : a6 : 80 : f9 : 12 : 2f> ff : ff : ff에서 전체 프로토콜 디코드 청취에 -v 또는 -vv 사용 ff : ff : ff, 이더넷 유형 IPv4 (0x0800), 길이 332 : 192.168.1.1.67> 255.255.255.255.68 : BOOTP / DHCP, 회신, 길이 290 00 : 23 : cd : c3 : 83 : 8a> ff : ff : ff : ff : ff : ff, 이더넷 유형 IPv4 (0x0800), 길이 590 : 192.168.1.253.67> 255.255.255.255.68 : BOOTP / DHCP, 회신, 길이 548
터미널 2 (요청을 보내기위한) :
sudo nmap --script broadcast-dhcp-discover -e eth0
2019-10-13 21:21 EEST 사전 스캔 스크립트 결과에서 Nmap 7.01 ( https://nmap.org ) 시작 : | broadcast-dhcp-discover : | 응답 1 of 1 | IP 제공 : 192.168.1.228 | DHCP 메시지 유형 : DHCPOFFER | IP 주소 임대 시간 : 2h00m00s | 서버 식별자 : 192.168.1.1 | 서브넷 마스크 : 255.255.255.0 | 라우터 : 192.168.1.1 | _ Domain Name Server : 8.8.8.8, 8.8.4.4 경고 : 대상이 지정되지 않았으므로 0 개의 호스트가 스캔되었습니다. Nmap 완료 : 0.94 초 내에 0 개의 IP 주소 (0 개의 호스트 가동) 검색
모니터링 터미널은 모든 응답을보기 위해 필요합니다 (nmap은 첫 번째 응답 만 표시 할 수 있음).