Sử dụng công cụ Sniffer để chẩn đoán mạng khi khắc phục sự cố kết nối

Thảo luận trong 'Firewall Fortigate' bắt đầu bởi huunhanntt, 16/8/22.

  1. huunhanntt

    huunhanntt Member

    Bạn có thể bắt (Sniff) các gói tin của bất kỳ lưu lượng mạng di chuyển qua tường lửa FortiGate sử dụng command line. Giống với TCP Dump.


    Tại sao bạn cần phải làm việc này?
    - Nó cho phép bạn có góc nhìn cơ bản nhất, đến biểu hiện thập lục phân của các gói tin khác nhau.
    - Bạn sẽ thấy, nếu các gói tin đi theo cách chúng cần, nếu chúng bị drop và ở tại đâu. Nó là một công cụ chẩn đoán mạng tốt nhất hiện có.

    [​IMG]
    Để làm điều đó, bạn sẽ sử dụng cú pháp sau:
    diagnose sniffer packet

    - Tiếp theo là giao diện mà bạn muốn thấy được, đó là các bộ lọc, mức độ chi tiết, và nhiều hơn thế nữa.

    Để cùng xem qua các bộ lọc tốt nhất sử dụng "diag sniffer packet".
    - Để bắt được các gói tin trên các interface, port, protocol khác nhau, bạn sẽ cần mở cửa sổ command line, và cú pháp thực hiện như sau:

    diag sniffer packet đây là cơ bản, cú pháp mặc định.

    - Từ đây bạn có thể chọn interface bạn có thể thêm một portm hoặc interface khác bất kỳ. Bạn cũng có thể chọn "any" để bắt lưu lượng trên tất cả interface.

    [​IMG]
    - Chúng ta sẽ chọn toàn bộ interface "any interface".
    - Tiếp theo đây, bạn có thể lọc traffic ra, có thể trên một port cụ thể (porrt 80, 53…) kèm theo protocol (TCP, ICMP…), Src-Dst: nguồn-đích gói tin, kích thước gói, bạn có thể sử dụng kết hợp thêm như "or", "and".

    - Theo như các filter sau, bạn có các cấp độ phức tạp khác nhau. Hãy chọn none for filter. Và hãy chọn mức độ khác nhau để so sánh.
    - Có một vài cấp độ filter. Hãy chọn một và xem cái gì chúng là thấy được bên dưới mức độ chi tiết đó, bạn có thể chọn số gói, để chỉ chọn bắt 10 gói tin thôi.

    [​IMG]
    - Nhấn Enter. Và ở đây chúng ta có 10 gói tin, hiển thị các IP header, giao thức và bạn cũng có thể thấy được các flag khác, TCP flag, số phiên lập tức.
    - Hãy thực hiện tiếp một số thay đổi từ mức chi tiết sang 2.

    [​IMG]
    [​IMG]
    Trong mức độ 2, bạn có thể thấy hiển thị số hex của IP packet. Ở đây, bạn cũng có hiển thị ASCII.
    - Bây giờ, hãy sử dụng mức 3.

    [​IMG]
    [​IMG]
    Ở đây, bạn cũng có Ethernet header ở hệ thập lục phân.
    - Hãy thực hiện mức chi tiết ở mức 4 (thường được sử dụng nhất). Và trong mức 4, (cũng tương tự với mức 1), bạn cũng thể có thể nhập tên interface ("port 1", "port 2), thực sự rất hữu ích trong khắc phục sự cố kết nối.

    [​IMG]
    - Các bước trên là cơ bản, bây giờ hãy sử dụng thêm các filter.


    BỘ LỌC - FILTERS:
    - Bộ lọc đầu tiên sẽ giúp chúng ta bắt traffic đang xảy ra trên port 80.
    - Nếu bạn muốn bắt một traffic tới port cụ thể, sử dụng port và số. Các ví dụ như sau:

    Cú pháp mẫu sẽ như sau “diag sniffer packet any ‘port 80’ 4 10
    [​IMG]
    Và chúng ta thấy rằng chúng ta đang có traffic được đi đến đích hoặc bắt đầu từ Port 80.
    - Filter tiếp theo là "host" nếu bạn muốn bắt traffic cụ thể từ một host nào đó xác định, bạn sẽ sử dụng keyword là 'host' và địa chỉ IP. Trong ví dụ này, tôi có máy tính với IP: 10.0.5.7.

    [​IMG]
    - Bạn đang thấy rằng traffic đang đi từ 10.0.5.7 hoặc đích đến tới 10.0.5.7.
    - Nếu bạn cần lọc filter ra các nguồn hoặc đích cụ thể nào đó, hãy sử dụng từ khóa "src" 10.0.5.7. Như ở đây chúng ta có thể thấy traffic đang đi ra từ nguồn xác định là máy có IP 10.0.5.7.

    [​IMG]
    - Và nếu cần traffic đến đính nhất đinh, hãy sử dung "dst" và chọn gateway 192.168.1.1 thử.
    [​IMG]
    - Nếu bạn muôn bắt các protocol khác, chúng ta có thể dụng tên của các protocol trong filter. Hãy bắt thử giao thức ARP, vì chúng ta sẽ viết ra ARP và chúng ta có thể thấy được ARP traffic khác nhau.
    [​IMG]
    - Nếu bạn muốn bắt hay xem thử các gói ICMP được gửi đi. Thì bạn có thể thấy được, chúng ta có các gói ICMP khác nhau đang đi đến Dst đó.
    [​IMG]
    - Và bây giờ hãy bắt giao thức TCP với các flag khác nhau, chúng ta chỉ cần viết thêm 'TCP'
    [​IMG]
    - Ở phần đầu của bài viết, mình đã nói rằng chúng ta có thể bắt được traffic của môt port nào đó. Chúng ta cũng có thể bắt một loại các port sử dụng keyword 'portrange' và một dấu gạch ngang giữa các port. Vì vậy, như ví dụ để bắt traffic từ Port 80, đến Port 443 câu lệnh như hình sau:
    [​IMG]
    - Nếu bạn muốn bắt traffic với các kích thước gói tin khác nhau, chúng ta cũng có thể sử dụng biểu thức đó trong bắt gói tin. Vì chúng ta sẽ bắt gói tin nhỏ hơn 64-bytes trong ví dụ này. Sử dụng thêm keyword 'less 64' cho filter.
    [​IMG]

    - Một điều cuối cùng là khi bạn muốn sử dụng kết hợp thêm như 'and' 'or' để bắt traffic đến một port đích cụ thể bằng cách sử dụng "and".

    Src là 10.0.5.7 và Dst port 80. Và hãy sử dụng Verbosity 3 với số gói tin là 10 gói.
    [​IMG]
    [​IMG]
    - Chúng ta có thể thấy rằng có traffic được định cho Port 80 của thiết bị firewall FortiGate. Chúng ta sử dụng Verbosity 3, và bạn cũng có thể thấy các biểu diễn thập lục phân khác nhau của chính các gói tin đó.
     

trang này