GNU / Linux에서 netstat를 사용하는 방법
- 범주: 리눅스
Netstat는 모든 TCP 및 UDP 연결뿐만 아니라 현재 연결을 수신하고있는 유닉스 소켓 연결과 현재 연결된 연결을 모두 나열하는 매우 강력한 유틸리티입니다. 많은 가정 사용자가 반드시 이것에 대해 걱정할 필요는 없지만 온라인 게이머 또는 미래에 어떤 종류의 서버를 호스팅하려는 사람은 분명히 어느 시점에서 포트를 처리해야 할 것입니다.
Netstat는 보안 및 개인 정보 보호에도 유용합니다. 예를 들어 어떤 프로그램이 인터넷과 '대화'하는지 알아내는 데 유용합니다.
netstat를 사용하는 것은 매우 간단한 과정이거나 사용량에 따라 매우 복잡하고 무거워 질 수 있습니다. 그래서 오늘 우리는 Netstat의보다 일반적인 용도를 살펴 보겠습니다.
약속대로 (내 기사 ' Linux에서 네트워크 정보를 찾는 방법 ? ') netstat 명령을 소개하겠습니다. 이 명령은 라우팅 테이블, 네트워크 연결, 인터페이스 통계, 가장 연결 및 멀티 캐스트 멤버십과 같은 네트워킹 정보를 검색하는 데 매우 유용한 도구입니다. 그러나 다른 '검색'도구 (예 : ifconfig)만큼 사용하기가 그리 간단하지 않습니다. netstat를 사용하면 원하는 내용과 찾는 방법을 알 필요가 있습니다. 이 기사는 당신이 그것을 이해하는 데 도움이 될 것입니다.
설치?
다행히 배포판은 netstat 명령이 사전 설치되어 있습니다. 이를 확인하려면 터미널 창을 열고 (어쨌든 netstat를 사용할 위치 임) 명령을 실행하십시오. 어떤 netstat . 이 명령은 다음과 같은 것을 반환해야합니다. / bin / netstat . 그러면 도구가 설치되고 실행 파일이 어디에 있는지 알 수 있습니다.
Netstat 기본 사항
기본 netstat 명령은 다음과 같습니다.
netstat 인수 옵션
여기서 ARGUMENT는 정보를 원하는 주소 계열의 유형이고 OPTIONS는 반환되는 정보 유형을 지정하는 선택적 옵션입니다.
netstat는 다양한 옵션을 제공하기 때문에 더 유용한 옵션을 먼저 나열하는 것이 가장 좋습니다.
- 에 : 모든 소켓 및 라우팅 테이블 항목의 상태를 표시합니다.
- 씨 : 정보를 지속적으로 표시합니다.
- 디 : DHCP를 사용하는 모든 인터페이스의 상태를 표시합니다.
- 이다 : 확장 된 정보를 보여줍니다.
- 지 : IPv4 및 IPv6 모두에 대한 멀티 캐스트 그룹 구성원 정보를 표시합니다.
- 나는 : 모든 네트워크 인터페이스의 테이블을 표시합니다.
- 엘 : 통계를 정의 된 인터페이스로 제한합니다.
- 미디엄 : 멀티 캐스트 라우팅 테이블을 표시합니다.
- 엔 : 네트워크 주소를 기본 기호 대신 숫자로 표시합니다.
- 피 : 주소 확인 테이블을 표시합니다.
- 피 : 통계를 정의 된 프로토콜로 제한합니다.
- 아르 자형 : 모든 라우팅 테이블을 표시합니다.
- 티 : TCP 연결을 표시합니다.
- 유 : UDP 연결을 표시합니다.
- V : 출력에 상세 모드를 사용합니다.
그럼 이것들이 어떻게 함께 사용될 수 있는지 살펴 보겠습니다.
netstat
단독으로 (옵션 없음)이 명령은 현재 연결된 호스트의 일반 통계를 인쇄합니다.
netstat -an
이 명령은 소스 및 대상 주소와 포트를 포함하여 호스트에 대한 모든 연결을 표시하고 숫자로 표시합니다.
netstat -rn
이 명령은 호스트에 대한 라우팅 테이블을 숫자 형식으로 표시합니다.
netstat -r
이 명령은 호스트에 대한 라우팅 테이블을 표시합니다.
netstat -natp
이 명령은 활성 TCP 연결을 숫자 형식으로 표시합니다.
netstat -t-듣기
호스트가 수신하는 모든 tcp 포트가 표시됩니다.
netstat-통계
이 명령은 호스트 인터페이스에 대한 다양한 통계를 표시합니다. 이 명령은 많은 통계를 표시합니다.
보시다시피이 명령은 상당히 많은 정보를 표시합니다. 또한이 명령을보다 쉽게보기 위해 less 명령을 통해 파이프해야 할 수도 있습니다. 전체 명령은 netstat --statistics | 적게. 그런 식으로 사용하면 화살표 키를 사용하여 출력을 위아래로 스크롤 할 수 있습니다.
Netstat 사용 팁
netstat를 사용하는 가장 기본적이고 일반적인 방법 중 하나는 수신 대기중인 포트를 확인하는 것입니다.
- netstat -l
새로 설치된 Antergos 시스템에서 이와 같은 것을 제공합니다.
또는 검색에 좀 더 집중하려는 경우 다른 유형의 연결에 대해 구체적으로 정렬하는 다른 옵션을 추가 할 수 있습니다.
- netstat -lt # TCP 용
- netstat -lu # UDP 용
- netstat -lx # for Unix
또는 스펙트럼의 반대쪽 끝으로 가서 모든 연결을 나열 할 수 있습니다.
- netstat -a
원하는 경우 명심해야 할 또 다른 옵션은 'n'옵션을 사용하는 것입니다. 예를 들어 netstat -n 또는 netstat -ltn을 사용하면 모든 호스트 이름이 더 이상 확인되지 않으며 아래 예와 같이 IP 주소 만 표시됩니다.
보시다시피 이름의 localhost는 'n'옵션을 사용한 후 숫자 값으로 확인되었습니다.
netstat를 사용하는 또 다른 방법은 netstat -ie, 인터페이스의 경우 'i', '확장'의 'e'는 사람이 읽을 수있는 출력을 제공하는 데 도움이됩니다.
netstat -ie # 네트워크 인터페이스 목록과 각 장치에 대한 정보를 보여줍니다.
고급 Netstat 팁
우리가 원하는 것은 netstat에 tcp 연결을 수신하는 특정 애플리케이션에 대한 출력을 제공하도록 지시하는 것입니다. 이를 위해 다음 명령을 실행합니다.
- netstat --tcp --listening-프로그램
이 명령의 출력은 다음과 같습니다.
Proto Recv-Q Send-Q Local Address Foreign Address Stat PID / 프로그램
tcp 0 0 * : ssh * : * 듣기 25469 / sshd
tcp 0 0 * : httpd * : * 듣기 26754 / httpd
tcp 0 0 localhost : ipp * : * 듣기-
이제 실제로 유용한 정보를 볼 수 있습니다. 위의 출력에서 sshd와 httpd가 수신 연결을 수신하고 있음을 알 수 있습니다. 위의 내용은 출력이 어떻게 보일 수 있는지에 대한 스 니펫입니다. 이 명령에 대해 매우 편리한 점은 수신하지 않아야하는 들어오는 연결을 수신하는 명령 또는 로컬 주소가 있는지 여부를 표시한다는 것입니다. 듣지 말아야 할 응용 프로그램을 찾으면 안전을 위해 종료하십시오.
노선
Netstat는 다음 명령을 사용하여 시스템의 커널 라우팅 테이블을 빠르게 인쇄 할 수 있습니다.
netstat -r
이 명령의 출력은 다음과 같습니다.
커널 IP 라우팅 테이블
목적지 게이트웨이 Genmask 플래그 MSS 창 irtt Iface 192.168.1.0 * 255.255.255.0 U 000 eth0
기본값 192.168.1.1 0.0.0.0 UG 000 eth0
통계
이것은 netstat 도구 중 더 편리한 도구 중 하나입니다. 이를 통해 각 프로토콜에 대한 통계를 정확하게 찾을 수 있습니다. 기본 명령 구조는 다음과 같습니다.
netstat-통계
원하는 것보다 훨씬 더 많은 정보를 얻을 수 있습니다. TCP 프로토콜에 대한 통계 만보고 싶다고 가정 해 보겠습니다. 이를 위해 다음 명령을 실행할 수 있습니다.
netstat -t-통계
위 명령의 출력에는 다음과 같은 정보가 포함됩니다.
TCP :
4343 활성 연결 개구부
8 개의 수동 연결 개구부
5 회 실패한 연결 시도
178 개의 연결 재설정 수신
6 개 연결 설정
59075 세그먼트 수신
60033 세그먼트 발송
76 개의 세그먼트가 재전송 됨
0 개의 잘못된 세그먼트가 수신되었습니다.
303 개의 재설정 전송
또는 다음 명령을 사용하여 UDP에 대한 정보를 얻을 수도 있습니다.
netstat -u-통계
UDP 프로토콜에 대해 유사한 출력을 제공합니다.
창의력 발휘
서버에 연결된 모든 고유 IP 주소를 보려면 어떻게해야합니까? 다음과 같이 netstat (및 몇 가지 다른 도구의 도움)를 사용하여이를 수행 할 수 있습니다.
netstat -nat | awk '{print $ 5}'| 컷 -d : -f1 | sed -e '/ ^ $ / d | 유니크
위 명령의 출력은 컴퓨터 / 서버가받는 트래픽의 양에 따라 달라집니다. 그러나 여기에는 서버에 연결을 시도하는 모든 고유 IP 주소가 포함됩니다.
서버가 DOS 공격을 받고 있는지 확인하는 것은 어떻습니까? 다음과 같이 netstat로이를 수행 할 수 있습니다.
netstat -anp | grep 'tcp | udp'| awk '{print $ 5}'| 컷 -d : -f1 | 정렬 | uniq -c | 정렬 -n
위의 명령은 서버에 가장 많은 연결을 요청하는 IP 주소를 나열합니다. 예상보다 훨씬 더 높은 숫자가 보이면 서비스 거부 공격을 받고있을 가능성이 큽니다.
마지막 생각들
Netstat는 갑자기 필요할 때까지 결코 필요하지 않을 것이라고 생각하는 도구 중 하나입니다. 최소한 기본 수준에서 필요할 때 사용하는 방법을 아는 것이 항상 좋습니다. netstat 명령 및 해당 옵션 사용 방법에 대한 자세한 내용은 다음을 입력하여 man 페이지를 확인하십시오. 남자 netstat .
이제 당신 : 네트워크 정보를 확인하는 데 선호하는 유틸리티는 무엇이며 그 이유는 무엇입니까? 댓글로 알려주세요!
관련 기사
- Linux에서 네트워크 정보를 어떻게 찾습니까?
- 네트워크 문제 해결 기본 사항 : Ipconfig 명령
- IPTable에 대한 CSF 방화벽 프런트 엔드 설정
- 유용하지만 모호한 Linux 관리 도구
- Gnome의 Nettools로 네트워킹 문제 해결