2009-03-16 2 views
2

Java를 사용하여 UDP 패킷을 스푸핑하려고합니다. 자신 만의 RAW 소켓을 만들 수있는 훌륭한 Java 라이브러리가 있습니까?UDP 패킷 스푸핑을위한 원시 패킷 만들기

+0

(Java 라이브러리에 추가 할 수있는 RFE가 있습니다. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4727550) –

답변

5

libpcap을 래핑하는 Java API를 사용합니다.

libpcap에는 원시 패킷을 보낼 수있는 "inject"기능이 있습니다. 물론 패킷을 보내려고하는 머신에는 루트 또는 관리자 권한이 있어야합니다. jNetPcap 또는 jpacp과 같이 사용할 수있는 Java API가 많이 있습니다. 예를 들어 jpcap은 class that allows you to send any packet입니다.

+0

링크가 작동하지 않습니다. http://netresearch.ics.uci.edu/kfujii/jpcap/doc/javadoc/jpcap/JpcapSender.html –

0

다른 라이브러리가 필요한 것은 아닙니다. 대개 플랫폼의 표준 소켓 라이브러리 (예 : Winsock 또는 버클리 소켓)의 일부입니다. 관련 옵션은 종종 ASOCK_RAW이라고합니다.

0

Windows XP SP2 (아마도 비스타를 포함하여 더 높은 버전이지만, 확실하지는 않습니다), raw sockets are disabled. 이러한 제한은 TCP 소켓보다 UDP 소켓에 대해 다소 덜 엄격하므로 수행하려는 모든 작업을 수행 할 수 있습니다. 이 링크에는 할 수있는 일에 대한 정보와 아마도 도움이 될 방법에 대한 정보가 포함되어 있거나 가능한지 판단하는 데 도움이됩니다.

+0

Linux 환경에서 실행하려고했습니다. – Javamann

-2

자바 프로그램을 작성하여 UDP 패킷을 스푸핑하려는 경우 마이크가 제안한대로 jNetPcap 또는 jpcap을 사용합니다. 방금 스푸핑 (프로그램을 작성하지 않음)하려는 경우 wireshark을 시도 할 것입니다.

+2

스푸핑으로 그는 단순히 캡처가 아니라 패킷을 만드는 것을 의미합니다. Wireshark에는 Packet Builder가 없지만 JPcap과 JNetPcap은이 작업을 지원합니다. – h3xStream