• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Kiểm tra kết nối mạng trong hệ thống linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kiểm tra kết nối mạng trong hệ thống linux

    Hệ thống Linux cung cấp rất nhiều lệnh hữu ích để xem cấu hình và kết nối mạng. Một số ví dụ bao gồm ifquery, ifup, ifdown và ifconfig.Có rất nhiều lệnh có sẵn trên Linux để kiểm tra các thiết lập và kết nối mạng. Hôm nay, chúng ta sẽ xem qua một số lệnh rất hữu ích và chúng hoạt động như thế nào.


    1. Lệnh ifquery

    Một lệnh rất hữu ích đó là lệnh ifquery. Lệnh này sẽ cung cấp cho bạn một danh sách nhanh các giao diện mạng. Tuy nhiên, bạn có thể chỉ thấy đại loại như thế này chỉ hiển thị port loopback:
    $ ifquery --list
    lo
    Nếu bạn chỉ thấy kết quả hiển thị màn hình như trên, tệp /etc/network/interface của bạn không có thông tin về các port mạng, ngoại trừ port loopback. Bạn có thể thêm hai dòng cuối cùng trong ví dụ bên dưới - giả sử DHCP được sử dụng để gán địa chỉ.
    Nếu đúng như vậy, tệp / etc / network / interface của bạn không có thông tin về các giao diện mạng ngoại trừ
    giao diện loopback. Bạn có thể thêm hai dòng cuối cùng trong ví dụ bên dưới - giả sử DHCP được sử dụng để gán địa chỉ.
    # interfaces(5) file used by ifup( and ifdown(
    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet dhcp

    2. Lệnh ifup và ifdown
    Các lệnh ifup và ifdown có thể được sử dụng để kích hoạt các kết nối mạng, hoặc tắt chúng với điều kiện là tệp này có dữ liệu mô tả cần thiết. Phải nhớ rằng, “if” có nghĩa là “interface”, không phải “if” nghĩa là “nếu”. lệnh ifconfig
    Mặt khác, lệnh ifconfig hoàn toàn không đọc tệp /etc/network/interface. Nhưng nó vẫn cung cấp khá nhiều thông tin hữu ích về các giao diện mạng - dữ liệu cấu hình cùng với số lượng gói. Cho bạn biết “busy each interface”. Lệnh ifconfig cũng có thể được sử dụng để tắt và khởi động lại giao diện mạng (ví dụ: ifconfig eth0 down).
    $ ifconfig eth0
    eth0
    Link encap:Ethernet HWaddr 00:1e:4f:c8:43:fc
    inet addr:192.168.0.6 Bcast:192.168.0.255 Mask:255.255.255.0
    inet6 addr: fe80::b44b:bdb6:2527:6ae9/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:60474 errors:0 dropped:0 overruns:0 frame:0
    TX packets:33463 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:43922053 (43.9 MB) TX bytes:4000460 (4.0 MB) Interrupt:21 Memory:fe9e0000-fea00000
    Số gói RX và TX trong kết quả này rất thấp. Ngoài ra, không có lỗi hoặc xung đột gói nào đã được báo cáo. Lệnh thời gian hoạt động có thể sẽ xác nhận rằng hệ thống này chỉ mới được khởi động lại gần đây.
    Địa chỉ (Broadcast - Bcast) và network mask (Mask) được hiển thị ở trên cho biết rằng hệ thống đang hoạt động trên mạng tương đương loại C (mặc định) nên địa chỉ cục bộ sẽ nằm trong khoảng từ 192.168.0.1 đến 192.168.0.254.

    3. Lệnh netstat
    Lệnh netstat cung cấp thông tin về định tuyến và kết nối mạng. Khi không có đối số, nó sẽ hiển thị danh sách các socket đang mở. Gần như tất cả sẽ liên quan đến các quy trình trên hệ thống cục bộ. Ví dụ, trong kết quả bị cắt ngắn bên dưới, chúng ta chỉ thấy hai kết nối ssh đến với hệ thống cục bộ đã được thiết lập.
    $ netstat | head -4
    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 64 dragonfly:ssh dragonfly:8812 ESTABLISHED
    tcp 0 0 dragonfly:ssh dragonfly:33505 ESTABLISHED

    4. Lệnh netstat -rn
    Sử dụng -rn, netstat sẽ hiển thị bảng định tuyến của hệ thống.
    $ netstat -rn
    KerNel IP routing table
    Destination Gateway Genmask Flags MSS Window irtt Iface
    0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
    169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
    192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
    Địa chỉ 192.168.0.1 là gateway cục bộ (Flags = UG). Mục 169.254.0.0 trong kết quả ở trên chỉ cần thiết nếu bạn đang sử dụng hoặc dự định sử dụng link-local. Bạn có thể không sử dụng các dòng liên quan (bằng cách sử dụng comment #) trong tệp /etc/network/if-up.d/avahi-autoipd như trong ví dụ dưới đây:
    $ tail -12 /etc/network/if-up.d/avahi-autoipd #if [ -x /bin/ip ]; then
    # # route already present?
    # ip route show | grep -q ‘^169.254.0.0/16[[:space:]]’ && exit 0
    #
    #
    #/bin/ip route add 169.254.0.0/16 dev $IFACE metric 1000 scope link
    #elif [ -x /sbin/route ]; then
    # # route already present?
    # /sbin/route -n | egrep -q “^169.254.0.0[[:space:]]” && exit 0
    #
    #
    # /sbin/route add -net 169.254.0.0 netmask 255.255.0.0 dev $IFACE #metric 1000
    #fi

    5. Lệnh netstat -a
    Lệnh netstat -a sẽ hiển thị tất cả các kết nối mạng. Để chỉ lắng nghe và thiết lập các kết nối (thường hữu ích hơn nhiều), hãy sử dụng lệnh netstat -at để thay thế.
    $ netstat -at
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 0 *:ssh *:* LISTEN
    tcp 0 0 localhost:ipp *:* LISTEN
    tcp 0 0 localhost:smtp *:* LISTEN
    tcp 0 256 192.168.0.6:ssh 192.168.0.32:53550 ESTABLISHED
    tcp6 0 0 [::]:http [::]:* LISTEN
    tcp6 0 0 [::]:ssh [::]:* LISTEN
    tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN
    tcp6 0 0 ip6-localhost:smtp [::]:* LISTEN

    6. Lệnh host
    Lệnh máy chủ hoạt động giống nslookup bằng cách tra cứu địa chỉ IP của hệ thống từ xa, nhưng cũng cung cấp trình xử lý thư của hệ thống.
    $ host world.std.com
    world.std.com has address 192.74.137.5
    world.std.com mail is handled by 10 smtp.theworld.com.

    7. Lệnh nslookup
    Nslookup cũng cung cấp thông tin về hệ thống (trong trường hợp này là hệ thống cục bộ) đang cung cấp dịch vụ tra cứu DNS.
    $ nslookup world.std.com
    Server: 127.0.1.1
    Address: 127.0.1.1#53
    Non-authoritative answer: Name: world.std.com Address: 192.74.137.5

    8. Lệnh dig
    Lệnh dig cung cấp nhiều thông tin về cách kết nối với hệ thống từ xa - bao gồm máy chủ định danh mà chúng ta đang giao tiếp và thời gian trả lời truy vấn, thường được sử dụng để khắc phục sự cố.
    $ dig world.std.com
    ; <<>> DiG 9.10.3-P4-Ubuntu <<>> world.std.com ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28679
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION:
    ;world.std.com. IN A
    ;; ANSWER SECTION:
    world.std.com. 78146 IN A 192.74.137.5
    ;; Query time: 37 msec
    ;; SERVER: 127.0.1.1#53(127.0.1.1)
    ;; WHEN: Mon Oct 09 13:26:46 EDT 2017 ;; MSG SIZE rcvd: 58

    9. Lệnh nmap
    Lệnh nmap được sử dụng thường xuyên nhất để thăm dò các hệ thống từ xa, nhưng cũng có thể được sử dụng để báo cáo về các dịch vụ được cung cấp bởi hệ thống cục bộ. Trong kết quả bên dưới, chúng ta có thể thấy rằng ssh có sẵn để đăng nhập, smtp đang phục vụ email, trang web đang hoạt động và dịch vụ in ipp đang chạy.
    $ nmap localhost
    Starting Nmap 7.01 ( https://nmap.org ) at 2017-10-09 15:01 EDT Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00016s latency). Not shown: 996 closed ports
    PORT STATE SERVICE
    22/tcp open ssh
    25/tcp open smtp
    80/tcp open http
    631/tcp open ipp
    Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds


    Hệ thống Linux cung cấp rất nhiều lệnh hữu ích để kiểm tra cấu hình mạng và kết nối của chúng. Nếu bạn hết lệnh để khám phá, hãy nhớ rằng apropos network có thể hướng bạn đến nhiều hơn nữa.
Working...
X