0

자바 코드에서 어떤 네트워크 인터페이스가 사용되는지 확인할 수 있는지 알고 싶습니다.어떻게 네트워크를 결정하십시오. 인터페이스가 자바와 함께 사용됩니다.

예를 들어 URL 객체와 함께 입력 스트림을 사용하여 소스 코드를 다운로드 할 수 있습니다. 하지만 트래픽이 예를 들어 eth0이 아닌 wlan0 인터페이스를 통과하기를 원합니다. 어떤 인터페이스가 현재 자바 네트워크 프로세스에 사용되고 있는지 확인할 수 있습니까?

+2

라우팅은 Java VM 또는 실행중인 응용 프로그램에 달려 있습니다. 트래픽이 잘못된 경로를 통과 할 때 런닝은 기계에서 잘못된 방식으로 구성되어야합니다. –

답변

1

인터페이스를 사용하여 확인하려면 컴퓨터의 모든 네트워크 트래픽을 tcpdump으로 가져오고 wireshark와 같은 도구를 사용하여 확인하십시오. 더 간단한 방법은 ifconfig -a의 Tx 및 Rx 패킷 수를보고 사용 된 인터페이스를 확인하는 것입니다.

+0

자바에서 확인하고 싶습니다. if (network.getinterface(). toString(). equals ("wlan0")) 그런 다음 다른 작업을 수행하지 마십시오. 그냥 예 – F91

+0

간단한 접근 방식이 가능하지 않다고 생각합니다. – F91

+0

@ F91 문제는 OS에 어떤 네트워크 인터페이스를 사용할 지에 대한 힌트를 줄 수 있지만, 좋아하는 방식으로 자유롭게 보낼 수 있다는 것입니다. 최근 버전의 Windows는 문자열 호스팅이므로 제어 할 수 있지만 Linux에서는 제어 할 수 없습니다. –