netstat, nslookup, findstr, tasklist , Windows기반의 명령어 활용 - Engineer of NiagaraFramework

Tridium, NiagaraFramework, SCADA, HMI, PLC, Automation, SmartFAM etc.. About controls.
나이아가라 프레임워크 QnA : neverlikekami@gmail.com

2016년 4월 12일 화요일

netstat, nslookup, findstr, tasklist , Windows기반의 명령어 활용

개요
프로그램 엔지니어나 개발자들은 간혹 포트가 중복되어 무언가 인터페이스 하기 곤란한 상황을 격게된다.
예를들어 어떤 프로그램이 80번 포트를 쓰고있는것같은데.. 대체 어떤 프로그램이 쓰고있는지 알고싶은 경우가 되겠다.
이런때 사용할 수 있는 커맨드들을 준비 해보았다.
산업용 장비들을 인터페이스를 하다보면 여러 업체들간에 서로 프로그램을 깔다보니 서로 같은 포트를 사용하는 경우도있고... 그러다보면 서로 충돌이 나는데 대체 누가 포트를 쓰고있는지 잡아내야 할 때가 있는데 이런때 유용하다.


아래에서 알아볼 명령어들은
netstat, nslookup, findstr, tasklist 이다.
흔히들 사용하는 ping 명령어 정도는 알고있다고 가정하며 글을 쓴다.


    커맨드창에 c:\>netstat /help 입력하면 도움말을 볼 수 있다.




    다음 명령으로 사용중인 포트와 포트를사용중인 PID(Process ID)를 얻을 수 있다. 
    아래의 명령어는 CMD 창을 관리자 권한으로 실행해야 원하는 결과를 얻을 수 있다. 
    ( runas /user kami "program" 명령어를 이용하고싶었으나.. 새로운 콘솔로 실행되더라)

    c:\>netstat -anbo


    1. 포트를 사용중인 PID 찾기


    예를들어 4432포트를 어떤 프로그램이 사용하고있는지 찾고 싶을때 아래의 명령어를 이용한다.  파이프라인을 이용하여 명령어를 합치는 방법이다. 

    netstat -anbo | findstr 4432

    ??


    위에서 보는바와같이 4432를 포함하는 라인을 찾아준다.
    안타깝게도 4432포트를 사용하는 프로그램은 없다.
    우측에 나타나는 4432는 PID번호이다.



    2. PID가 어떤 프로그램인지 찾기 

    만일 80포트를 사용하는 PID를 찾았다면 아래와같은 명령어로 실제로 어떤 프로세스인지 ??찾아볼 수 있다. 

    프로세스리스트중 PID가 1234인 작업을 필터링 한다.  
    tasklist /SVC /fi “PID eq 1234”


    3. 윈도우기반 동일 네트워크상에서 IP, MAC , PC이름등을 얻어오기

    도메인을 갖고있는 사이트의 아이피를 얻고싶다면 nslookup을 사용하라.
    c:\>nslookup naver.com



    (하기의 명령은 인자값으로 PC네임을 주었다. IP를 주어도 된다. )

    tracert ctcc-boss     : ctcc-boss 라는 PC의 경로를 추적한다. (IP는 덤으로 얻을 수 있다.)

    pathping ctcc-boss : ctcc-boss 라는 PC의 경로를 추적한다. (IP를 덤으로 얻을 수 있다. )

    nbtstat -a ctcc-boss : ctcc-boss라는 PC의 Mac어드레스를 얻을 수 있다. 



    nbtstat의 옵션을 보면 -4 라는 옵션이 있다. 이것을 이용하여                                       IP도 덤으로 얻을 수 있다.


    참조

    내용 : 링크 

    댓글 없음:

    댓글 쓰기

    Post list