2012-11-10 3 views
1

SNMP4J를 사용하여 여러 가지 가상 SNMP 장치를 시뮬레이트하려고합니다. 따라서 트랩을 보낼 때 발신 장치의 IP 주소를 수정하려고하는데 어떻게해야할지 모르겠습니다. setPeerAddress() 메소드가 있지만 작동하지 않는 것 같습니다. 사실, SNMP4J가 가능하거나 지원할 수 있는지조차 확신 할 수 없습니다.SNMP4J로 피어 주소 설정

또는 Java를 사용하여 가상으로 IP 주소를 스푸핑 할 수 있습니까?

미리 도움을 주셔서 감사합니다.

답변

0

Java가 사용자가 IP 패킷의 보낸 사람 주소를 스푸핑하는 것을 허용하지 않는다는 것을 100 % 확신합니다.

운영 체제에서 허용하는 항목에 따라 JNI 메소드 호출을 사용하여이를 수행 할 수 있습니다. Windows에서 실행될 때 JPcap 라이브러리에서이를 수행하는 것을 보았습니다.

(안 인기 jpcap가 http://jpcap.sourceforge.net/에서 호스팅하지만, 이전 http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html에서 호스팅되었습니다 WinPcap을 중심으로 관련이없는, 같은 이름의 래퍼가. 난 그냥 웹에서 사라진 것으로 보인다 것으로 나타났습니다.)

편집 : SNMP4j의 API에 관해서는 CommandResponderEvent 클래스와 ResponseEvent 클래스에서만 setPeerAddress() 메소드를 찾을 수 있습니다. 이 두 가지 모두 들어오는 데이터 (보낸 요청에 대한 응답)를 나타내는 것처럼 보이므로 이러한 방식으로 보낸 사람 주소를 시도하고 변경하는 것이 유용하지는 않습니다.