[개발] Java로 Proxy 변경 Tool 만들기 :: YPrefer's Develop&Security

필자의 회사의 경우 보안을 위해 외부 인터넷 망과 연결시 Proxy를 통해야 한다.

그런데, 보안점검을 하다보면 Proxy를 Burpsuite나 Fiddler와 같은 Tool의 포트로 변경해줘야 하는 일이 있는데,

이걸 매번 브라우저의 설정탭을 찾아 들어가 변경하기도 귀찮고,

그렇다고 Cooxie Toolbar같은걸 번거롭게 설치해서 마우스 클릭질 하는 것도 맘에 들지 않아서, Java로 변경해주는 걸 하나 만들어 보았다.


이 방법은 Java를 이용해 Registery 값을 수정하는 방법인데, Chrome과 IE는 적용되지만 FireFox는 따로 Proxy 정보를 저장하고 있어 적용되지 않는다.


소스를 보면, 간단하다.

Proxy.java


WinInet.java



이 소스는 java에서 registery값에 접근하는 jRegistryKey라는 라이브러리를 사용한다.

그 라이브러리를 이용하기위한 Interface가 WinInet.java이고, 실제 동작하는건 Proxy.java라고 보면 된다.

링크 : https://sourceforge.net/projects/jregistrykey/

라이브러리 사용하는 방법은 일반적이니 따로 적지 않겠다.


설명하자면, Windows의 Proxy 설정값은 Registery의 CURRENT_USER의 Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings

밑에 위치하게 되고 여기에서 프록시 설정에 대한 값들이 있는데,

ProxyEnable : 현재 프록시가 켜져있는지 아닌지의 값.  0 또는 1

ProxyServer : 프록시 서버 주소

ProxyOverride : 프록시 주소를 사용하지 않는 예외 주소들

AutoConfigURL : 프록시 자동구성 스크립트 주소

이다.


이 값을 이용해 현재 프록시가 켜져 있다면 꺼주고, 꺼져 있다면 같은 폴더의 dat폴더 밑 config.dat파일을 참조하여 값을 읽어와 그 설정과 같이

Proxy 설정을 해준다.

config.dat파일의 첫번째 라인을 자동구성 스크립트에, 두번째라인은 프록시 주소에, 세번째 라인은 예외 주소, 네번째 라인은 다이어로그가 실행되는 시간(1000이 1초) 로 구성된다.


이렇게 만들어진 프로그램을 바로가기로 만들어 우측버튼의 속성을 통해 바로가기키를 지정해두면 단축키로 프록시 활성/비활성화가 가능해진다.


만들어진 Tool로 손쉽게 프록시 활성/비활성화를 하면서 홈페이지을 조지면 된다!

+ Recent posts