포트와 이를 사용하는 애플리케이션을 인쇄하세요.

포트와 이를 사용하는 애플리케이션을 인쇄하세요.

두 개의 필드를 함께 인쇄하고 싶습니다. 모든 열린 포트와 이를 사용하는 응용 프로그램입니다. 다음은 내 명령이지만 포트 번호만 인쇄하고 프로그램 필드는 ​​여전히 누락되어 있습니다.

netstat -lnt -u -p | awk '{print $4}' | sed 's/.*://' | sort -n | uniq

"PID/프로그램 이름"이 "java"를 반환하는 것과 같은 프로그램 이름을 인쇄하도록 수정하려면 어떻게 해야 합니까?

" "의 예는 netstat -lnt -u -p다음과 같습니다.

tcp, 0, 0, 10.194.194.21:36195, 0.0.0.0:*, 듣기, 2969/java

포트 번호와 프로그램 이름만 보고 싶습니다.

 36195 java

답변1

6번째 필드와 4번째 필드를 인쇄해야 합니다.

그러면 예상한 결과가 반환됩니다. (명령 결과를 모르기 때문에 좀 더 효율적인 방법이 있을 것 같습니다.)

netstat -lnt -u -p | awk '{print $4,$6}' | sed 's/.*://' | sort -n | uniq

고유한 포트와 프로그램 이름을 얻는 방법은 다음과 같습니다( sed추가 sort명령이 필요하지 않으며 다음을 수행할 수 있습니다).고유한및 해당 -u옵션):

netstat -lnt -u -p | awk -F"[,:/]" '{print $5,$NF}'| sort -un
36195  java

답변2

단축된 솔루션:

netstat -lpunt | awk -F' +|:+|/' '$5{print $5,$10}' | sort -n
  • -F' +|:+|/'- 필드 구분 기호(공백, 콜론 또는 슬래시)

  • $5- 포트 번호

  • $10- 프로그램 이름

관련 정보