LINUX 네트워크 성능 관리 도구 삼 총사

LINUX 네트워크 성능 관리 도구 삼 총사
본 고 는 Linux 시스템 의 네트워크 성능 을 관리 하 는 기 교 를 소개 하 는 글 로 route, netstat, tcpdump 세 가지 네트워크 관리 테스트 도구 의 사용 방법 과 실현 가능 한 기능 을 소개 한다.
route
네트워크 를 설정 할 때 기계 에 패 킷 을 받 을 때 이 패 킷 이 지나 갈 경 로 를 지정 해 야 합 니 다.Linux 시스템 에서 명령 route 를 제공 합 니 다. 이 명령 은 ifconfig 명령 으로 설 정 된 네트워크 카드 에 정적 경 로 를 설정 할 수 있 습 니 다.이 설정 작업 은 보통 / etc / rc. d / rc. inet 1 에 도입 되 어 시스템 안내 시 진행 된다.
우 리 는 몇 가지 예 를 통 해 route 명령 을 어떻게 사용 하 는 지 설명 합 니 다.
route add -net 127.0.0.0

이 명령 은 루트 테이블 에 지정 한 주소 나 네트워크 의 루트 를 추가 합 니 다.이 때 네트워크 는 A 류 주소 이 고 마스크 는 255.0.0.0 으로 설정 되 어 있 으 며 새로 추 가 된 항목 은 lo 장치 에 연결 되 어 있 습 니 다.
route add -net xxx.xxx.xxx.xxx netmask 255.255.255.0 dev eth0

이 명령 은 IP 주소 가 xxx. xxx. xxx. xxx 인 호스트 에 루트 를 추가 합 니 다. 네트워크 마스크 는 255.255.255.0 으로 설정 되 어 있 습 니 다.
route del -net xxx.xxx.xxx.xxx

이 명령 은 xxx. xxx. xxx. xxx 네트워크 의 경 로 를 삭제 합 니 다.
route 명령 을 사용 하면 전체 네트워크 의 경로 정 보 를 편리 하 게 관리 할 수 있 고 출력 결 과 는 네트워크 의 경로 표 입 니 다.다음 과 같다.
인용 하 다.
-----------------------------------------------------------------
[root@lee /root]#route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.8.224 * 255.255.255.255 UH 0 0 0 eth0
10.10.8.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default dgc8.njupt.edu 0.0.0.0 UG 0 0 0 eth0
default dgc8.njupt.edu 0.0.0.0 UG 1 0 0 eth0
[root@lee /root]#
-----------------------------------------------------------------
출력 결과 의 각 필드 의 의 미 는:
· Destination 은 경로 의 대상 IP 주 소 를 표시 합 니 다.
· Gateway 는 게 이 트 웨 이 가 사용 하 는 호스트 이름 이나 IP 주 소 를 표시 합 니 다.위 에서 출력 한 "*" 는 게 이 트 웨 이 가 없다 는 것 을 표시 합 니 다.
· Genmask 는 경로 의 네트워크 마스크 를 표시 합 니 다.경로 의 대상 주소 와 비교 하기 전에 커 널 은 Genmask 와 패 킷 의 IP 주 소 를 통 해 위치 '와' 작업 을 통 해 경 로 를 설정 합 니 다.
· Flags 는 길 을 나타 내 는 표지 이다.사용 가능 한 표지 와 의 미 는 U 는 경로 가 시작 되 고 H 는 target 은 호스트 이 며 G 는 게 이 트 웨 이 를 사용 하고 R 은 동적 경로 에 대해 리 셋 설정 을 하 는 것 을 나타 낸다.D 는 동적 설치 경 로 를 표시 하고 M 은 경 로 를 수정 하 는 것 을 표시 합 니 다!거부 루트 를 표시 하 다.
· Metric 은 경로 의 단위 에서 판 매 량 을 표시 합 니 다.
· Ref 는 본 경로 의 현황 에 의존 하 는 다른 경로 의 수 를 나타 낸다.
· Use 는 루트 항목 이 사 용 된 수 를 표시 합 니 다.
· Iface 는 보 낸 가방 의 목적 네트워크 를 표시 합 니 다.
이러한 출력 정 보 를 보면 우 리 는 네트워크 의 경로 표를 편리 하 게 관리 할 수 있다.
netstat
netstat 명령 은 TCP / IP 네트워크 를 감시 하 는 매우 유용 한 도구 로 루트 테이블, 실제 네트워크 연결, 모든 네트워크 인터페이스 장치 의 상태 정 보 를 표시 할 수 있다.컴퓨터 에서 netstat 를 실행 한 후 출력 결 과 는 다음 과 같 습 니 다.
인용 하 다.
-----------------------------------------------------------------
[root@lee /root]#netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Types State I-Node Path
Unix 5 [ ] DGRAM 460 /dev/log
Unix 0 [ ] STREAM CONNECTED 173 @00000014
Unix 0 [ ] DGRAM 662
Unix 0 [ ] DGRAM 631
Unix 0 [ ] DGRAM 544
Unix 0 [ ] DGRAM 484
Unix 0 [ ] DGRAM 470
[root@lee /root]#
-----------------------------------------------------------------
전체적으로 보면 netstat 의 출력 결 과 는 두 부분 으로 나 눌 수 있 습 니 다. 첫 번 째 부분 은 Active Internet connections 로 소스 TCP 연결 이 라 고 합 니 다. 위의 출력 결과 에서 이 부분 은 내용 이 없 으 며 아직 TCP 연결 이 되 지 않 았 음 을 나타 냅 니 다.두 번 째 부분: Active UNIX domain sockets 로 유 소스 유 닉 스 도 메 인 인터페이스 라 고 합 니 다.출력 결 과 는 유 닉 스 인터페이스 연결 상황 을 보 여 줍 니 다.
· Proto 는 연결 에 사용 할 프로 토 콜 을 표시 합 니 다.
· RefCnt 는 이 인터페이스 에 연 결 된 프로 세 스 번 호 를 표시 합 니 다.
· Types 인터페이스 종 류 를 표시 합 니 다.
· State 인터페이스 현재 상 태 를 표시 합 니 다.
· Path 는 인터페이스 에 연 결 된 다른 프로 세 스 가 사용 하 는 경로 이름 을 표시 합 니 다.
netstat - a 로 모든 소켓 의 상 태 를 볼 수 있 습 니 다. 이것 은 네트워크 프로그램 을 디 버 깅 할 때 매우 유용 합 니 다.netstat - r 는 루트 테이블 의 내용 을 표시 합 니 다. 일반적으로 '- n' 옵션 을 동시에 지정 하면 디지털 형식의 주 소 를 얻 을 수 있 고 기본 공유 기의 IP 주 소 를 표시 할 수 있 습 니 다.netstat - i 를 사용 하면 모든 네트워크 인터페이스 정 보 를 표시 합 니 다.netstat 를 사용 하면 현재 의 네트워크 상태 와 네트워크 의 토폴로지 구 조 를 얻 을 수 있 는데 이것 은 실제 적 으로 매우 유용 하 다.
tcpdump
tcpdump 명령 은 TCP / IP 연결 을 감시 하고 데이터 링크 계층 의 데이터 패 킷 을 직접 읽 는 데 사 용 됩 니 다.어떤 패 킷 이 감시 되 고 어떤 제어 가 형식 을 표시 할 지 지정 할 수 있 습 니 다.예 를 들 어 우 리 는 모든 Ethernet 에서 오 가 는 통신 을 감시 하고 다음 명령 을 집행 해 야 한다.
tcpdump -i eth0

상대 적 으로 평온 한 네트워크 에서 도 많은 통신 이 있 기 때문에 우 리 는 우리 가 관심 이 있 는 패 킷 의 정보 만 얻 을 수 있 습 니 다.일반적인 상황 에서 TCP / IP 스 택 은 로 컬 호스트 에 만 수입 국 의 패 킷 을 연결 하 는 동시에 네트워크 의 다른 컴퓨터 주소 지정 을 무시 합 니 다 (공유 기 를 사용 하지 않 는 한).tcpdump 명령 을 실행 할 때 TCP / IP 스 택 을 promiscuous 모드 로 설정 합 니 다.이 모드 는 모든 패 킷 을 수신 하여 효과적으로 표시 할 수 있 습 니 다.만약 에 우리 가 관심 을 가 지 는 것 이 로 컬 호스트 의 통신 상황 이 라면 '- p' 매개 변 수 를 사용 하여 promiscuous 모드 를 금지 하 는 방법 이 고 또 다른 방법 은 호스트 이름 을 지정 하 는 것 입 니 다.
tcpdump -i eth0 host hostname

이 때 시스템 은 hostname 이라는 호스트 의 통신 패 킷 만 감시 합 니 다.호스트 이름 은 로 컬 호스트 일 수도 있 고 네트워크 의 모든 컴퓨터 일 수도 있 습 니 다.다음 명령 은 호스트 hostname 에서 보 낸 모든 데 이 터 를 읽 을 수 있 습 니 다:
tcpdump -i eth0 src host hostname

다음 명령 은 호스트 hostname 으로 보 내 는 모든 패 킷 을 감시 할 수 있 습 니 다.
tcpdump -i eth0 dst host hostname

지정 한 게 이 트 웨 이 를 통과 하 는 패 킷 도 감시 할 수 있 습 니 다.
tcpdump -i eth0 gateway Gatewayname

지정 한 포트 에 주소 가 있 는 TCP 나 UDP 패 킷 을 감시 하려 면 다음 명령 을 수행 하 십시오.
tcpdump -i eth0 host hostname and port 80

이 명령 은 모든 패 킷 에서 흘러 나 오 는 머리 와 호스트 hostname 에서 포트 80 에 대한 주 소 를 표시 합 니 다.포트 80 은 시스템 의 기본 HTTP 서비스 포트 번호 입 니 다.80 포트 로 보 내 는 패 킷 만 표시 하려 면 dst port 를 사용 하 십시오.80 포트 로 돌아 가 는 패 킷 만 보고 싶다 면 src port 를 사용 하 십시오.

좋은 웹페이지 즐겨찾기