2011-08-17 3 views
3

나는 소스가없는 리눅스 애플리케이션을 가지고있다. 특정 포트에서 들어오는 TCP 연결을 청취합니다. 잘못 설계되었으므로 한 번에 하나의 연결 만 처리 할 수 ​​있습니다.Linux 응용 프로그램이 수신 대기중인 IP 포트를 가상화하는 방법은 무엇입니까?

나는이 응용 프로그램의 여러 인스턴스를 실행하고 그들의 소켓 생성 호출을 가상화하여 각 포트가 자신의 포트라고 생각하게합니다. 즉 들어오는 연결을 이들의 풀에 배포하는 리다이렉션 계층을 제공하십시오 응용 프로그램은 해당 포트에 대해 경합 중이기 때문에 실행되지 않습니다.

글루 코드를 작성하게되어서 기쁩니다.하지만 소켓 생성을위한 몇 가지 차단 솔루션이 재발생해서는 안 될 것 같습니다. 거기 있니?

답변

2

LD_PRELOAD과 함께 라이브러리를 사용하여 응용 프로그램의 소켓 API 사용을 무시할 수 있어야합니다. socksify 유틸리티의 코드 (예 : tsocks)를 보거나 dante의 socksify를 시작으로 시작할 수 있습니다.

실제로 socks 서버를 설치하고 기존 유틸리티 중 하나를 사용하여 문제를 해결할 수도 있습니다.

+0

감사합니다. 조사하겠습니다. – Stabledog

관련 문제