Chúng ta cùng tìm hiểu cách sử dụng lệnh NETSTAT (Network Statistic) trên Windows cũng như các option lệnh thông dụng của chương trình.
Contents
- Vậy lệnh NETSTAT là gì?
- Cấu trúc lệnh “netstat” trên Windows
- 1. Hiển thị tất cả kết nối và lắng nghe
- 2. Hiển thị tiến trình thực thi kết nối
- 3. Hiển thị thống kê card mạng Ethernet
- 4. Hiển thị thông tin bảng định tuyến
- 5. Hiển thị đầy đủ tên Domain (FQDN)
- 6. Hiển thị địa chỉ địa chỉ IP remote host (không phân giải domain)
- 7. Hiển thị thông tin ID tiến trình của 1 kết nối
- 8. Hiển thị các kết nối theo giao thức
- 9. Hiển thị thống kê giao thức
- 10. Hiển thị thông tin theo thời gian
- 11. Ví dụ kết hợp option lệnh NETSTAT
Vậy lệnh NETSTAT là gì?
Đơn giản đó là một chương trình được thiết kế để hiển thị các thông tin cần thiết nhằm xử lý các lỗi liên quan đến mạng. Đây là một chương trình đa nền tảng, tức trên Linux cũng có, OSX cũng có và Windows tất nhiên là có rồi. Vậy hãy cùng “cuongquach.com” tìm hiểu cách sử dụng chương trình lệnh NETSTAT nào.
Một số tính năng nổi bật của lệnh NETSTAT như sau:
– Hiển thị các kết nối chiều vào và chiều ra.
– Hiển thị bảng định tuyến route.
– Hiển thị thống kê thông tin giao thức mạng.
Cấu trúc lệnh “netstat” trên Windows
netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [-v] [interval]
Ta sử dụng ‘netstat‘ trên chương trình CMD của Windows nhé. Và giờ chúng ta sẽ cùng tìm hiểu các option lệnh kèm theo lệnh “netstat” nhé.
1. Hiển thị tất cả kết nối và lắng nghe
Với option ‘-a‘, lệnh “netstat” sẽ hiển thị các thông tin về tất cả các kết nối (connection) giữa máy tính local của bạn với các máy tính remote trong hay ngoài mạng. Bên cạnh đó option này cũng sẽ liệt kê các port đang được lắng nghe như dưới dạng dịch vụ trên máy tính local.
C:\Users\cuongqc> netstat -an Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING TCP 0.0.0.0:5985 0.0.0.0:0 LISTENING TCP 0.0.0.0:47001 0.0.0.0:0 LISTENING TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING TCP 0.0.0.0:49156 0.0.0.0:0 LISTENING TCP 0.0.0.0:49157 0.0.0.0:0 LISTENING TCP 0.0.0.0:49160 0.0.0.0:0 LISTENING TCP 10.12.165.101:139 0.0.0.0:0 LISTENING TCP 10.12.165.101:3389 10.99.90.63:61986 ESTABLISHED TCP 10.12.170.250:139 0.0.0.0:0 LISTENING TCP 10.12.170.250:62986 10.12.170.99:443 ESTABLISHED TCP 10.12.170.250:62987 10.12.170.99:443 ESTABLISHED TCP 10.12.170.250:63012 10.12.170.99:902 ESTABLISHED TCP 10.12.170.250:63026 10.12.170.99:443 CLOSE_WAIT TCP 10.12.170.250:63124 10.12.170.99:443 ESTABLISHED TCP 10.12.171.252:139 0.0.0.0:0 LISTENING TCP 127.0.0.1:62998 127.0.0.1:62999 ESTABLISHED TCP 127.0.0.1:62999 127.0.0.1:62998 ESTABLISHED TCP 127.0.0.1:63013 127.0.0.1:63014 ESTABLISHED TCP 127.0.0.1:63014 127.0.0.1:63013 ESTABLISHED TCP 127.0.0.1:63473 127.0.0.1:63474 ESTABLISHED TCP 127.0.0.1:63474 127.0.0.1:63473 ESTABLISHED TCP 127.0.0.1:63475 127.0.0.1:63476 ESTABLISHED TCP 127.0.0.1:63476 127.0.0.1:63475 ESTABLISHED TCP 127.0.0.1:63482 0.0.0.0:0 LISTENING
Giải thích tham số
- Proto: Cho biết kế nối là TCP hay UDP
- Local address: Địa chỉ IP của máy tính địa phương và số cổng được sử dụng. Tên của máy tính địa phương tương ứng với địa chỉ IP và tên của cảng được hiển thị trừ khi tham số -n được quy định cụ thể. Nếu cổng chưa được thành lập, số cổng phải được thể hiện như là một dấu sao (*).
- Foreign address: Địa chỉ IP và số cổng của máy tính từ xa mà ổ cắm được kết nối. Các tên tương ứng với địa chỉ IP và cổng được hiển thị trừ khi tham số -n được quy định cụ thể. Nếu cổng chưa được thành lập, số cổng phải được thể hiện như là một dấu sao (*)
- State: Cho biết trang thái cổng: Cho biết trạng thái của một kết nối TCP. Các trạng thái có thể là như sau:
• CLOSE_WAIT
• CLOSED
• ESTABLISHED
• FIN_WAIT_1
• FIN_WAIT_2
• LAST_ACK
• LISTEN
• SYN_RECEIVED
• SYN_SEND
• TIMED_WAIT
2. Hiển thị tiến trình thực thi kết nối
Bạn có thể biết được tên tiến trình nào đang thực thi mở kết nối từ máy tính Windows ra ngoài hoặc từ ngoài kết nối vào chương trình đang lắng nghe.
C:\Users\cuongqc> netstat -b
3. Hiển thị thống kê card mạng Ethernet
Sử dụng option “-e” sẽ giúp bạn tra cứu các thống kê cơ bản liên quan đến NIC card mạng Ethernet của máy tính hay server Windows.
C:\Users\cuongqc> netstat -e Interface Statistics Received Sent Bytes 3923193320 1924875892 Unicast packets 330085828 210927948 Non-unicast packets 17465272 15841088 Discards 0 0 Errors 0 0 Unknown protocols 0
4. Hiển thị thông tin bảng định tuyến
Nếu bạn cần tìm hiểu xem đường đi của gói tin sẽ đi hướng nào trên máy tính Windows, thì bạn có thể sử dụng option “-r” nhằm liệt kê thông tin bảng định tuyến đang có trên hệ thống Windows.
C:\Users\cuongqc> netstat -r =========================================================================== Interface List 16...00 50 56 80 85 13 ......vmxnet3 Ethernet Adapter #3 14...00 50 56 b7 96 fb ......vmxnet3 Ethernet Adapter #2 12...00 50 56 b7 1d fd ......vmxnet3 Ethernet Adapter 1...........................Software Loopback Interface 1 13...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter 17...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3 15...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2 =========================================================================== IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 10.12.165.1 10.12.165.101 261 10.12.165.0 255.255.255.0 On-link 10.12.165.101 261 10.12.165.101 255.255.255.255 On-link 10.12.165.101 261 10.12.165.255 255.255.255.255 On-link 10.12.165.101 261 10.12.170.0 255.255.255.0 On-link 10.12.170.250 261 10.12.170.250 255.255.255.255 On-link 10.12.170.250 261 10.12.170.255 255.255.255.255 On-link 10.12.170.250 261 10.12.171.0 255.255.255.0 On-link 10.12.171.252 261 10.12.171.252 255.255.255.255 On-link 10.12.171.252 261 10.12.171.255 255.255.255.255 On-link 10.12.171.252 261 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 10.12.165.101 261 224.0.0.0 240.0.0.0 On-link 10.12.170.250 261 224.0.0.0 240.0.0.0 On-link 10.12.171.252 261 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 10.12.165.101 261 255.255.255.255 255.255.255.255 On-link 10.12.170.250 261 255.255.255.255 255.255.255.255 On-link 10.12.171.252 261 ===========================================================================
5. Hiển thị đầy đủ tên Domain (FQDN)
Trong một số tình huống bạn mong muốn hiển thị thông tin tên miền thay cho địa chỉ IP của remote host. Tất nhiên là máy chủ phải phân giải được tên miền FQDN (Fully Qualified Domain Name) đó, nhưng lệnh “netstat” sẽ chỉ hiển thị tên miền đại diện thôi.
C:\Users\cuongqc> netstat -f
6. Hiển thị địa chỉ địa chỉ IP remote host (không phân giải domain)
Việc hiển thị thông tin địa chỉ Remote Host bằng lệnh “netstat” ở trạng thái mặc định thì chương trình sẽ cố gắng phân giải địa chỉ IP ra DomainName tìm được. Việc này đôi khi không cần thiết và làm chậm quá trình kiểm tra thông tin. Nên bạn hoàn toàn có thể sử dụng option “-n” để buộc “netstat” chỉ hiển thị các thông tin địa chỉ remote host dưới dạng địa chỉ IP đơn thuần.
C:\Users\cuongqc> netstat -n Active Connections Proto Local Address Foreign Address State TCP 10.12.165.101:3389 10.99.90.63:61986 ESTABLISHED TCP 10.12.170.250:62986 10.12.170.99:443 ESTABLISHED TCP 10.12.170.250:62987 10.12.170.99:443 ESTABLISHED TCP 10.12.170.250:63012 10.12.170.99:902 ESTABLISHED TCP 10.12.170.250:63026 10.12.170.99:443 CLOSE_WAIT TCP 10.12.170.250:63124 10.12.170.99:443 ESTABLISHED TCP 127.0.0.1:62998 127.0.0.1:62999 ESTABLISHED TCP 127.0.0.1:62999 127.0.0.1:62998 ESTABLISHED TCP 127.0.0.1:63013 127.0.0.1:63014 ESTABLISHED TCP 127.0.0.1:63014 127.0.0.1:63013 ESTABLISHED TCP 127.0.0.1:63473 127.0.0.1:63474 ESTABLISHED TCP 127.0.0.1:63474 127.0.0.1:63473 ESTABLISHED TCP 127.0.0.1:63475 127.0.0.1:63476 ESTABLISHED TCP 127.0.0.1:63476 127.0.0.1:63475 ESTABLISHED
7. Hiển thị thông tin ID tiến trình của 1 kết nối
Bạn thắc mắc là các kết nối được hiển thị trên “netstat” output là do tiến trình nào trên hệ thống đang thực hiện mở kết nối. Vậy thì với option “-o“, “netstat” sẽ show ra cho chúng ta thêm 1 cột “PID” là ID định danh cho tiến trình đang mở kết nối tương ứng.
C:\Users\cuongqc> netstat -on Active Connections Proto Local Address Foreign Address State PID TCP 10.12.165.101:3389 10.99.90.63:61986 ESTABLISHED 1712 TCP 10.12.170.250:62986 10.12.170.99:443 ESTABLISHED 1996 TCP 10.12.170.250:62987 10.12.170.99:443 ESTABLISHED 1996 TCP 10.12.170.250:63012 10.12.170.99:902 ESTABLISHED 5984 TCP 10.12.170.250:63026 10.12.170.99:443 CLOSE_WAIT 5984 TCP 10.12.170.250:63124 10.12.170.99:443 TIME_WAIT 0 TCP 10.12.170.250:63125 10.12.170.99:443 ESTABLISHED 1996 TCP 127.0.0.1:62998 127.0.0.1:62999 ESTABLISHED 5984 TCP 127.0.0.1:62999 127.0.0.1:62998 ESTABLISHED 5984 TCP 127.0.0.1:63013 127.0.0.1:63014 ESTABLISHED 6660 TCP 127.0.0.1:63014 127.0.0.1:63013 ESTABLISHED 6660 TCP 127.0.0.1:63473 127.0.0.1:63474 ESTABLISHED 4192 TCP 127.0.0.1:63474 127.0.0.1:63473 ESTABLISHED 4192 TCP 127.0.0.1:63475 127.0.0.1:63476 ESTABLISHED 1184 TCP 127.0.0.1:63476 127.0.0.1:63475 ESTABLISHED 1184
8. Hiển thị các kết nối theo giao thức
Ta có thể dùng option “-p” để hiển thị các kết nối cho giao thức theo quy định của giao thức có thể là bất kỳ: TCP, UDP, TCP v6 hoặc UDPv6. (Tham số này được sử dụng với “-s” để hiển thị các số liệu thống kê bởi giao thức: tcp, udp, icmp, ip, tcpv6, udpv6, icmp, hoặc ipv6)
Cú pháp
netstat -p [ udp | tcp | tcpv6 | udpv6 | icmp | ip ]
9. Hiển thị thống kê giao thức
Option “-s” dùng để hiển thị số liệu thống kê cho mỗi giao thức. Theo mặc định, các số liệu thống kê được hiển thị cho TCP, UDP và IP, tuỳ chọn “-p” có thể được sử dụng để chỉ định một tập hợp con của mặc định. Cũng khá là cần thiết để kiểm tra thông tin như các packet bị lỗi, các packet bị từ chối,….
C:\Users\cuongqc>netstat -s IPv4 Statistics Packets Received = 83969977 Received Header Errors = 0 Received Address Errors = 39962 Datagrams Forwarded = 0 Unknown Protocols Received = 687 Received Packets Discarded = 3782358 Received Packets Delivered = 82728285 Output Requests = 57582078 Routing Discards = 0 Discarded Output Packets = 205 Output Packet No Route = 10 Reassembly Required = 0 Reassembly Successful = 0 Reassembly Failures = 0 Datagrams Successfully Fragmented = 0 Datagrams Failing Fragmentation = 0 Fragments Created = 0 IPv6 Statistics Packets Received = 17635 Received Header Errors = 0 Received Address Errors = 0 Datagrams Forwarded = 0 Unknown Protocols Received = 0 Received Packets Discarded = 497550 Received Packets Delivered = 17783 Output Requests = 1389565 Routing Discards = 0 Discarded Output Packets = 0 Output Packet No Route = 6 Reassembly Required = 0 Reassembly Successful = 0 Reassembly Failures = 0 Datagrams Successfully Fragmented = 0 Datagrams Failing Fragmentation = 0 Fragments Created = 0 ICMPv4 Statistics Received Sent Messages 766 61 Errors 0 0 Destination Unreachable 749 41 Time Exceeded 0 0 Parameter Problems 0 0 Source Quenches 0 0 Redirects 0 0 Echo Replies 17 0 Echos 0 20 Timestamps 0 0 Timestamp Replies 0 0 Address Masks 0 0 Address Mask Replies 0 0 Router Solicitations 0 0 Router Advertisements 0 0 ICMPv6 Statistics Received Sent Messages 29 15 Errors 0 0 Destination Unreachable 0 0 Packet Too Big 0 0 Time Exceeded 0 0 Parameter Problems 0 0 Echos 0 0
10. Hiển thị thông tin theo thời gian
Bạn hoàn toàn có thể set thời gian để chương trình “netstat” chạy định kì tuần tự thời gian lặp lại. Nhấn phím Ctrl + C để ngăn chặn thống kê in ra màn hình.
C:\Users\cuongqc> netstat -an 2
11. Ví dụ kết hợp option lệnh NETSTAT
Một số ví dụ khi kết hợp lệnh NETSTAT bạn sẽ có những thống kê thông tin nhiều hơn. Vậy bạn hãy tự mình trải nghiệm các câu lệnh sau để xem kết quả nhé.
– Để hiển thị cả số liệu thống kê Ethernet và các số liệu thống kê cho tất cả các giao thức, gõ lệnh sau:
C:\Users\cuongqc> netstat -e -s
– Để hiển thị các số liệu thống kê cho các giao thức TCP và UDP, gõ lệnh sau:
C:\Users\cuongqc> netstat -s -p tcp udp
– Để hiển thị các hoạt động kết nối TCP và số liệu ID mỗi tiến trình mỗi 5 giây, gõ lệnh sau:
C:\Users\cuongqc> netstat -o 5
– Để hiển thị các hoạt động kết nối TCP và ID quá trình này bằng cách sử dụng hình thức số (không phân giải DomainName), gõ lệnh sau:
C:\Users\cuongqc> netstat -n -o
Vậy là kết thúc bài viết này bạn đã có thể sử dụng thành thạo chương trình lệnh NETSTAT trên Windows rồi. Điều này hoàn toàn có thể giúp bạn xử lý các sự cố mạng sau này ngay trên Windows/Windows Server. Thế nên hãy học cách sử dụng lệnh NETSTAT cơ bản nhé.