2014-06-05 3 views
1

리눅스 connect 시스템 호출을 사용하는 포트 스캐너에서 작업 중이며 localhost를 검색 할 때 커널이 대상 포트와 동일한 연결의 소스 포트를 할당하기 때문에 가끔 잘못된 검색 결과가 나타납니다. 내가 설립 한 연결이 일시적인 항구에 만들어 졌는지 알 수있는 방법이 있습니까?임시 포트에 연결되어 있는지 확인하는 방법은 무엇입니까?

+0

데이터 그램 소켓을 사용할 때 특히 그렇습니까? –

+0

이것은 TCP 연결을 만들 때 발생합니다. 나는 또한 그것이 3.14.2 커널에 영향을 미치지 않는 것으로 나타났습니다. – d33tah

답변

4

getsockname을 사용하면 커널이 할당 한 로컬 포트를 찾을 수 있습니다. 또는 직접 bind을 사용하여 포트를 선택할 수도 있습니다.

관련 문제