memo/Tips

xinetd nc 설정

Ryuuu 2018. 2. 5. 12:02


로컬에선 쉘이 따졌는데... nc에서 안되면 매우 짜증난다....


그래서 로컬에서도 libc는 다르지만 nc에 올려놓고 하기 위해서 xinetd 사용법을 적어놓는다.




설치 방법


apt-get install xinetd




깔아 줬으면 /etc/xinetd.d/ 디렉터리가 생긴다. 그러면 이안에 스크립트를 작성해줘야 된다.




vi /etc/xinetd.d/서비스이름




그리고나서 아래와 같은 스크립트를 넣어줘 서비스를 등록시켜줘야 된다



service 서비스이름


{

        socket_type     = stream

        flags           = REUSE


        wait            = no


        protocol        = tcp


        user            = root


        disable         = no


        server          = 바이너리 경로

}



* flags = REUSE가 socket_type = stream보다 윗 라인에 있을경우 정상적으로 데몬이 돌아가지 않는 경우가 있을수도있음.




ex)

service test


{

        socket_type     = stream


        flags           = REUSE


        wait            = no

        protocol        = tcp

        user            = root

        disable         = no

        server          = /home/ryuuu/test

}



이제 서비스를 등록했으면 이 서비스를 nc로 올려주기위해 포트를 설정해야한다.




그리고 난 후 이 포트에 서비스를 매칭을 시켜줘야한다.




포트를 설정하기위해선 /etc/services를 확인하자


echo "서비스명 포트/프로토콜" >> /etc/services


아니면 그냥 vi /etc/services해서 직접 고쳐줘도 된다.


service test 을 했으니까 /etc/services 에도 test 포트번호/tcp 해주면 된다.




그리고 서비스를 재실행하면 끝




service xinetd restart 




nc localhost 1234



옵션 참고


http://www.linuxlab.co.kr/docs/01-06-5.htm