Để nhận được danh sách các địa chỉ IP đi kèm, bạn có thể sử dụng netstat lệnh
netstat -rn
Điều này cung cấp một danh sách dài các địa chỉ ip và không dễ dàng để tìm thấy trường cần thiết. Kết quả mẫu như sau:
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.195.1 UGSc 17 0 en2
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 1 254107 lo0
169.254 link#7 UCS 0 0 en2
192.168.195 link#7 UCS 3 0 en2
192.168.195.1 0:27:22:67:35:ee UHLWIi 22 397 en2 1193
192.168.195.5 127.0.0.1 UHS 0 0 lo0
More result is truncated.......
Địa chỉ ip của gateway nằm ở dòng đầu tiên; một với mặc định ở cột đầu tiên của nó.
Để chỉ hiển thị các dòng kết quả đã chọn, chúng ta có thể sử dụng lệnh grep cùng với netstat
netstat -rn | grep 'default'
Lệnh này lọc và hiển thị những dòng kết quả có mặc định. Trong trường hợp này, bạn có thể thấy kết quả như sau:
default 192.168.195.1 UGSc 14 0 en2
Nếu bạn quan tâm đến việc chỉ tìm địa chỉ ip của gateway và không có gì khác, bạn có thể lọc thêm kết quả bằng awk . Lệnh awk khớp với mẫu trong kết quả đầu vào và hiển thị đầu ra. Điều này có thể hữu ích khi bạn đang sử dụng trực tiếp kết quả của mình trong một số chương trình hoặc công việc hàng loạt.
netstat -rn | grep 'default' | awk '{print $2}'
Lệnh awk yêu cầu khớp và in cột thứ hai của kết quả trong văn bản. Kết quả cuối cùng như sau:
192.168.195.1
Trong trường hợp này, netstat hiển thị tất cả kết quả, grep chỉ chọn dòng có 'mặc định' trong đó và awk khớp thêm với mẫu để hiển thị cột thứ hai trong văn bản.
Tương tự, bạn có thể sử dụng lệnh route -n get default để nhận được kết quả cần thiết. Lệnh đầy đủ là
route -n get default | grep 'gateway' | awk '{print $2}'
Các lệnh này hoạt động tốt trong linux cũng như hệ thống unix và MAC OS.