Là Kỹ sư mạng, chúng ta cần phải linh hoạt và hiểu biết về xử lý sự cố trong môi trường làm việc của mình. Ngoài việc có kiến thức vững chắc về các giao thức mạng và lệnh trên các thiết bị mạng (bộ định tuyến, thiết bị chuyển mạch, tường lửa,...), chúng ta cũng cần có kiến thức rất tốt về IP và các lệnh liên quan đến mạng khác trên các thiết bị điểm cuối như máy tính Windows, máy chủ Linux và máy trạm ... Trong bài viết này, sẽ liệt kê và mô tả các Lệnh IP hữu ích nhất trên hệ điều hành Windows. Hầu hết các lệnh này (với một số ngoại lệ và biến thể) cũng có sẵn trên Hệ điều hành Linux. Lệnh IP của Windows (Windows IP Commands) Bây giờ chúng ta hãy kiểm tra các lệnh Windows CMD phổ biến nhất (từ dấu nhắc DOS) có liên quan đến mạng: lệnh ipconfig (ipconfig command) Đây là một trong những lệnh IP hữu ích nhất trên Windows. Nó hiển thị rất nhiều thông tin hữu ích về cài đặt mạng hiện tại trên máy như địa chỉ IPv4 và IPv6 của tất cả các card giao diện mạng (bộ điều hợp Ethernet, bộ điều hợp WiFi, bộ điều hợp mạng ảo, v.v.), địa chỉ MAC, cổng mặc định, mặt nạ mạng con, máy chủ DNS, Thông tin DHCP, v.v. Nếu bạn muốn tìm địa chỉ IP cục bộ được gán cho máy tính của mình hoặc địa chỉ MAC của Card Ethernet (được hiển thị dưới dạng “Địa chỉ vật lý” trong đầu ra lệnh như trong hình bên dưới), đây là cách nhanh nhất để tìm thông tin này. Với lệnh ipconfig bạn sẽ nhận được các thông tin như địa chỉ IPv4 và IPv6, địa chỉ MAC, Ngày mặc định, Máy chủ DNS, v.v. Dưới đây là một số tùy chọn khác nhau của lệnh này: ipconfig /? : Hiển thị tất cả các tùy chọn có sẵn. ipconfig / all: Điều này sẽ hiển thị đầu ra như được hiển thị trên ảnh chụp màn hình ở trên nhưng đối với TẤT CẢ các card mạng của máy tính (Card Ethernet có dây, WiFi, Vmware, v.v.). ipconfig / release: Thao tác này sẽ giải phóng các địa chỉ IPv4 hiện tại đã được gán động từ máy chủ DHCP. Nếu bạn cũng chỉ định tên kết nối ở cuối, nó sẽ chỉ giải phóng IP của Card kết nối đó. ipconfig / release6: Tương tự như trên nhưng đối với địa chỉ IPv6. ipconfig / renew: Điều này thường xuất hiện sau lệnh release và được sử dụng để yêu cầu địa chỉ IP mới từ máy chủ DHCP. ipconfig / renew6: Tương tự như trên nhưng đối với địa chỉ IPv6. ipconfig / flushdns: Thao tác này sẽ xóa bộ nhớ cache của trình phân giải DNS cục bộ của máy tính. Bộ nhớ đệm này lưu trữ các mục nhập DNS của các tài nguyên internet được truy cập thường xuyên để máy tính sẽ không truy vấn máy chủ DNS bên ngoài mỗi khi bạn cố gắng truy cập tài nguyên internet (trang web, v.v.). Lệnh này hữu ích khi khắc phục sự cố kết nối DNS. ipconfig / displaydns: Nó hiển thị các mục nhập bộ nhớ cache của trình phân giải DNS cục bộ như đã giải thích ở trên. ipconfig / registerdns: Làm mới tất cả địa chỉ DHCP và cũng giao tiếp lại với máy chủ DNS bên ngoài để đảm bảo nó có thể truy cập được, v.v. Rất hữu ích khi khắc phục sự cố DNS và kết nối mạng của máy tính cục bộ. lệnh nslookup (nslookup command) “Nslookup” là viết tắt của “Name System Lookup” và rất hữu ích trong việc lấy thông tin liên quan đến Domain Name System (DNS) về miền hoặc về địa chỉ IP (tra cứu DNS ngược). nslookup [domain name]: Cách sử dụng phổ biến nhất của lệnh này là tìm nhanh địa chỉ IP của một tên miền cụ thể (A-record) như hình dưới đây: Ví dụ: nslookup www.thegioimang.vn Lệnh “nslookup” theo sau bởi một tên miền sẽ hiển thị cho bạn địa chỉ IPv4 và IPv6 (bản ghi A và bản ghi AAAA) được chỉ định cho miền cụ thể. nslookup [IP Address]: Thao tác này sẽ thực hiện tra cứu DNS ngược và sẽ cố gắng khớp địa chỉ IP đã cho trong lệnh với tên miền tương ứng của nó. Ví dụ: nslookup 8.8.8.8 Lệnh trên hiển thị địa chỉ IP 8.8.8.8 được ánh xạ với tên “google-public-dns-a.google.com”. Tuy nhiên, bạn cần lưu ý rằng không phải tất cả các địa chỉ IP đều được gán cho một tên miền nên rất nhiều khi bạn sẽ không nhận được bất kỳ thông tin nào từ lệnh trên. Có một số tính năng thú vị khác của lệnh nslookup như tìm các máy chủ DNS có thẩm quyền của một miền, các bản ghi SOA và MX của một miền và hơn thế nữa. lệnh ping (ping command) Bây giờ chúng ta hãy kiểm tra một trong những tiện ích phổ biến nhất liên quan đến kết nối mạng. Có lẽ lệnh đầu tiên mà mọi người dùng máy tính chạy trên dòng lệnh khi gặp sự cố kết nối là lệnh “ping”. Điều này sẽ nhanh chóng cho bạn biết liệu có thể gửi và nhận các gói (chính xác là gói icmp) từ máy tính của bạn hay không và do đó cho biết bạn có kết nối mạng hay không. Cũng lưu ý rằng “ping” hữu ích để kiểm tra kết nối cho cả máy tính cục bộ nơi bạn thực thi lệnh và cả cho máy tính hoặc máy chủ từ xa mà bạn cố gắng truy cập. Ví dụ: nếu bạn cố gắng "ping" địa chỉ IP cổng mặc định cục bộ của mình và bạn nhận được trả lời lại (icmp echo trả lời), điều này có nghĩa là máy tính cục bộ của bạn được kết nối đúng cách với mạng. Bây giờ, nếu bạn “ping” một máy chủ từ xa trên Internet và bạn nhận được phản hồi lại, điều đó có nghĩa là máy chủ từ xa cũng được kết nối đúng cách với mạng của nó. ping /? : Hiển thị tất cả các tùy chọn có sẵn. ping [IP Address]: Theo mặc định, nó sẽ gửi 4 gói ICMP đến địa chỉ IP đã nêu. Ví dụ: ping 8.8.8.8 Lệnh ping IP 8.8.8.8 dẫn đến việc gửi 4 gói và sau đó nhận lại 4 gói từ IP đó. ping [hostname or domain]: Khi “ping” một tên máy chủ hoặc tên miền, trước tiên lệnh sẽ phân giải tên thành địa chỉ IP và sau đó gửi các gói icmp đến IP đó. Ví dụ: ping www.thegioimang.vn ping [IP address] -t: Thao tác này sẽ gửi các gói ping (icmp echo request) liên tục đến IP mục tiêu. ping -n 10 [Địa chỉ IP]: Thao tác này sẽ gửi 10 gói ping (yêu cầu icmp echo) đến IP mục tiêu. ping -l 1500 [Địa chỉ IP]: Thao tác này sẽ gửi các gói ping (icmp echo request) có kích thước chiều dài 1500 byte đến IP mục tiêu. ping -a [Địa chỉ IP]: Thao tác -a cho máy tính cố gắng tìm tên máy chủ được gán cho địa chỉ IP cụ thể và sau đó ping IP. ping -6 [tên miền hoặc IP]: Thao tác -6 ra lệnh cho máy tính gửi các gói IPv6 đến mục tiêu. lệnh tracert (tracert command) “Tracert” trong Windows là viết tắt của “Trace Route”. Trong Linux, lệnh tương tự là “traceroute”. Lệnh theo dõi đường dẫn mà một gói TCP / IP đi tới một mục tiêu đích và hiển thị một số thông tin (nếu có) của các nút định tuyến trong đường dẫn này. Cũng giống như lệnh “ping”, “tracert” cũng gửi các gói tiếng vọng ICMP đến đích với các giá trị Thời gian tồn tại (TTL) khác nhau. tracert [tên miền hoặc IP]: Theo dõi đường dẫn TCP / IP đến IP hoặc tên miền đích được chỉ định. Ví dụ: tracert www.thegioimang.vn Lệnh lần theo đường dẫn đến tên miền www.thegioimang.vn hiển thị tất cả các nút định tuyến trung gian (với tên máy chủ và địa chỉ IP của chúng) cho đến đích cuối cùng. Khi khắc phục sự cố kết nối trong một mạng lớn, bạn có thể sử dụng tracert để xem nơi các gói dừng lại trước khi đến mục tiêu và tập trung nỗ lực để tìm ra sự cố trên nút không định tuyến các gói. lệnh netstat (netstat command) Một lệnh quan trọng khác là netstat được tìm thấy trong cả HĐH Windows và Linux. Nó hiển thị các kết nối mạng TCP / IP đã thiết lập của máy tính cục bộ với máy chủ từ xa, các cổng đang mở trên máy, ID tiến trình (PID) của mỗi kết nối, v.v. Dưới đây là một số cách sử dụng phổ biến của lệnh này: netstat -ano: Hiển thị tất cả các kết nối và cổng lắng nghe (-a), địa chỉ và cổng ở dạng số (-n) và cả ID tiến trình của mỗi kết nối (-o). netstat -vb: Rất hữu ích để kiểm tra tệp thực thi nào và trình tự nào đã tạo ra từng kết nối và từng cổng. Ví dụ: C:\WINDOWS\system32>netstat –vb Lệnh hiển thị mỗi kết nối được thiết lập, bạn có thể thấy tệp thực thi (ví dụ: chrome.exe, googledrivesync.exe, v.v.) đã tạo kết nối. netstat -p tcp -f: Thao tác “-p tcp” sẽ chỉ hiển thị các kết nối TCP và công tắc “-f” sẽ hiển thị tên FQDN của mỗi kết nối thay vì chỉ địa chỉ IP. Ví dụ: C: \ WINDOWS \ system32> netstat -p tcp -f lệnh route (route command) Lệnh "route" được sử dụng để xem bảng định tuyến cục bộ của máy tính. Bạn có thể in bảng định tuyến hiện tại, thêm các tuyến tĩnh mới, xóa các mục nhập, v.v. route PRINT: Hiển thị bảng định tuyến hiện tại của máy tính route ADD [Mạng đích] MASK [mask] [gatewayIP]: Điều này thêm một đường dẫn tĩnh trong bảng. Ví dụ: route ADD 10.10.10.0 MASK 255.255.255.0 192.168.1.2 Lệnh trên sẽ thêm một tuyến tĩnh cho mạng con đích 10.10.10.0/24 thông qua cổng 192.168.1.2 lệnh arp (arp command) ARP là viết tắt của “Address Resolution Protocol” và là một trong những giao thức mạng cốt lõi hoạt động ở mức Lớp 2 và tạo điều kiện giao tiếp trong mạng LAN. Công việc của ARP là tìm địa chỉ vật lý (địa chỉ MAC) của mục tiêu và ánh xạ nó với địa chỉ IP Lớp 3 tương ứng khi giao tiếp trong mạng LAN. Bảng ARP cache lưu trữ các ánh xạ địa chỉ IP với địa chỉ MAC tương ứng của chúng. arp -a: Hiển thị tất cả ánh xạ bộ nhớ cache ARP (IP đến địa chỉ MAC) Ví dụ: C: \ WINDOWS \ system32> arp -a Bạn có thể thấy với lệnh trên, máy tính cục bộ đã học động (type = dynamic) bằng cách sử dụng giao thức ARP hai thiết bị cục bộ khác (192.168.10.7 và 192.168.10.254) và đã lưu trữ địa chỉ MAC (Địa chỉ vật lý) của chúng trong bảng ARP. arp -d [Địa chỉ IP]: Thao tác này sẽ xóa mục nhập arp cho địa chỉ IP được chỉ định.