Việc
kiểm tra lưu lượng trên mạng sẽ giúp chúng ta kiểm soát được dữ liệu
và các máy tính. Hiểu cách thực hiện khắc phục sự cố mạng ở mức độ cơ
bản giúp chúng ta tiết kiệm cả thời gian lẫn tiền bạc. Mỗi một hệ điều
hành Linux đều có một số công cụ dòng lệnh giúp bạn có thể chuẩn đoán
vấn đề mạng xảy ra. Thêm vào đó, còn có rất nhiều công cụ mã nguồn mở có
thể giúp bạn tìm ra các vấn đề mạng.
Trong bài hướng dẫn này chúng tôi sẽ
giới thiệu cho cá bạn một số công cụ kiểm tra mạng, từ những công cụ
đơn giản như dòng lệnh đến các ứng dụng có giao điện đồ họa trực quan
được cung cấp miễn phí. Biết được một số lệnh đơn giản và khi nào cần
sử dụng chúng sẽ giúp bạn bắt đầu công việc chuẩn đoán mạng. Trong bài
chúng tôi sử dụng máy tính Ubuntu 10.04 làm nền tảng để test, mặc dù
vậy tất cả các công cụ được giới thiệu trong bài đều có thể làm việc
trong các distro khác.
Ping
Nếu không thoải mái trong việc sử dụng
dòng lệnh Linux từ một terminal, bạn có thể bỏ qua phần này để đến với
các mục bên dưới. Mặc dù vậy vẫn có rất nhiều thứ giá trị có thể thực
hiện từ dòng lệnh đơn giản này, đặc biệt khi nói đến việc chuẩn đoán
vấn đề trong mạng. Hầu hết các lệnh sẽ hiển thị thông tin có thể giúp
bạn xác định được điều gì đang xảy ra. Một số yêu cầu cho phép mức
root hoặc tối thiểu cũng phải có thể phát lệnh sudo.
ping
Lệnh đầu tiên cần được giới thiệu là lệnh ifconfig.
Khi sử dụng lệnh này trong nhắc lệnh, bạn sẽ được cung cấp các thông
tin về tất cả thiết bị mạng đã được nhận dạng. Trong ví dụ, bạn có thể
thấy eth0, lo và wlan0. Chúng tương ứng với thiết bị Ethernet chạy dây
(được gán địa chỉ 192.168.1.2), kết nối lo hoặc loopback, thiết bị
Ethernet không dây (địa chỉ 192.168.1.102). ifconfig cũng
hiển thị địa chỉ MAC của thiết bị (HWaddr) và một số thống kê về lưu
lượng. Có thể nói đây sẽ là lệnh đầu tiên bạn sử dụng khi gặp vấn đề
về mạng để có thể thấy địa chỉ IP có hợp lệ hay không và xem các lỗi
cũng như thống kê lưu lượng.
Lệnh ping chính là công cụ thứ
hai trong số các công cụ dòng lệnh, lệnh này giúp bạn xác định xem máy
tính hiện có đang truyền thông với Internet hay không. Khi ping đến
một địa chỉ nào đó (chẳng hạn như 4.2.2.1), bạn sẽ thấy trạng thái của
kết nối này. Thêm vào đó, lệnh này còn hiển thị cho bạn thời gian cần
thiết để hoàn tất lệnh.
Sau hai lệnh đầu tiên ở trên là lệnh route.
Lệnh này sẽ hiển thị cho bạn một danh sách các địa chỉ IP gồm có địa
chỉ Destination và Gateway kết nối đến mỗi giao diện, cùng với đó là
một số thông tin bổ sung nằm trong cột Flags. Cột này sẽ có ký tự G
trên dòng liên quan với gateway mặc định. Bạn có thể sử dụng địa chỉ này
trong lệnh ping để xác định xem máy tính của mình có kết nối với
gateway hay không.
EtherApe
Etherape
EtherApe là một công cụ có thể download
từ Ubuntu Software Center. Nó sử dụng GNOME và libpcap để hiển thị một
bản đồ trực quan về lưu lượng mạng. Sau khi cài đặt, bạn có thể sử
dụng biểu tượng EtherApe, bên dưới menu Applications / System Tools.
Khi chạy theo cách này, chương trình sẽ không thể mở bất kỳ thiết bị
mạng nào vì yêu cầu truy cập root. Chúng ta có thể thực hiện bằng cách
chạy nó từ dòng lệnh thông qua lệnh sudo như sau:
$ sudo etherape
Khi chương trình được khởi chạy, nó sẽ
hiển thị bản đồ trực quan về lưu lượng trên giao diện Ethernet mặc
định. Bạn có thể chọn một thiết bị nào đó nếu máy tính có nhiều giao
diện Ethernet bằng menu Capture / Interfaces. EtherApe cũng có khả năng xem dữ liệu từ một file pcap đã lưu và hiển thị lưu lượng theo giao thức.
Nmap
Nmap là một công cụ quét bảo mật được
sử dụng rộng rãi từ những năm 1997. Nó sử dụng một loạt các gói dữ liệu
đặc biệt để thăm dò mạng để từ đó tạo bản đồ các địa chỉ IP, xác định
hệ điều hành của địa chỉ IP nào đó, thăm dò một loạt các cổng IP ở một
địa chỉ cụ thể. Một trong những vấn đề cơ bản nhất là để thực hiện
những gì được gọi là “ping sweep”, có nghĩa một loạt lệnh ping để xác
định những địa chỉ nào máy tính được gắn với chúng. Thao tác này có thể
được thực hiện qua cú pháp sau:
$ nmap -sP 192.168.1.1-255
Còn có một số ứng dụng đồ họa khác từ
Ubuntu Software Center nhưng sử dụng nmap như một engine và sau đó hiển
thị các kết quả theo cách thân thiện nhất. Những công cụ đó gồm có
NmapSI4, công cụ sử dụng giao diện Qt4 và Zenmap.
Tcpdump
Capture lưu lượng mạng để thực hiện phân tích kỹ lưỡng hơn là chức năng chính của tcpdump.
Thực sự, việc capture dữ liệu được thực hiện bởi libpcap trong khi
việc trình diễn và phân tích được thực hiện bởi tcpdump. Dữ liệu
Internet sẽ được lưu trong định dạng file pcap để kiểm tra về sau.
Lệnh tcpdump để capture lưu lượng cơ bản như sau:
$ sudo tcpdump nS
Yêu cầu lệnh sudo để tăng quyền truy
cập vào thiết bị Ethernet mặc định. Lệnh này sẽ hiển thị các thông tin
cơ bản gồm có thời gian, địa chỉ nguồn, địa chỉ đích và kiểu dữ liệu.
Nó sẽ tiếp tục hiển thị thông tin trong terminal cho tới khi bạn nhấn
control-C. Tcpdump là cách tốt nhất và nhanh nhất để có thể capture lưu
lượng mạng vào một file. Lệnh điển hình để thực hiện là:
$ sudo tcpdump s w pktfile.pcap
Wireshark
Wireshark
Wireshark, trước đây được biết đến với
cái tên Ethereal, đã trở thành một công cụ quan trọng trong tay các
quản trị viên mạng Linux. (Người dùng Ubuntu có thể tìm thấy công cụ
này trong Ubuntu Software Center ở tab Internet). Như một số công cụ
khác, chúng ta phải khởi chạy Wireshark từ dòng lệnh bằng cách sử dụng
sudo để nó hiển thị các thiết bị Ethernet có sẵn trong mạng. Khi đã
khởi chạy, bạn sẽ thấy danh sách các giao diện có sẵn phía bên trái của
màn hình chính. Trang hiển thị giao thức sẽ xuất hiện khi chúng ta chọn
một trong các giao diện có sẵn hoặc giao diện ảo dùng để lựa chọn các
gói dữ liệu từ tất cả các thiết bị Ethernet.
Wireshark
Wireshark cung cấp rất nhiều thông tin
có giá trị về lưu lượng đã được capture, cùng với đó là các công cụ lọc
và hiển thị dựa trên một số tiêu chuẩn như địa chỉ nguồn, đích, giao
thức, hoặc trạng thái lỗi. Trang chủ của Wireshark có liên kết với các
hướng dẫn bằng video, các trang tài liệu và dữ liệu mẫu để giúp bạn bắt
đầu công việc chuẩn đoán mạng.
Kết luận
Linux có thể nói là một nền tảng tuyệt
vời để nghiên cứu các kỹ thuật khắc phục sự cố mạng. Nó cung cấp rất
nhiều các công cụ GUI và dòng lệnh giúp người dùng có thể phân tích
những vấn đề liên quan đến lưu lượng.
Văn Linh (Theo Linuxplanet) |
http://www.quantrimang.com.vn/hedieuhanh/linux/82682_5-cong-cu-kiem-tra-mang-Linux.aspx
Cần nói rõ:
ReplyDeleteThứ nhất: mạng dùng là mạng dùng TCP/IP.
Thứ hai: ifconfig (trong linux) hay ipconfig (trong win) là 1 công cụ dòng lệnh để cấu hình mạng, hiển thị thông tin chỉ là một chức năng nho nhỏ.
Thứ ba: ping là công cụ dùng để chẩn đoán mạng, kiểm tra xem có thể kết nối trực tiếp với một máy nào đó hay không.
Thứ tư: route là công cụ dùng để thao tác với bảng định tuyến (routing table), nếu ko có tham số thì nó dùng để hiên thị nội dung trong bảng định tuyến
Những cái còn lại chưa nghiên cứu :))
Chuyên gia TCP/IP có khác =))
ReplyDeleteHiệp hôm nào phổ cập 1 khóa cơ bản về TCP IP nhé
ReplyDeletechả cần đâu xa , chỉ cẩn thế này thôi :
ReplyDelete- sử dụng VNC thành thạo
- thiết lập thử mạng chơi game nào đó giữa các máy là ok rồi
đối với gà như mình thì bước đầu như thế là ổn chưa nhỉ :D
@Lam: có gì thì hỏi thôi, t biết thì t trả lời, chứ bảo phổ cập thì chưa đạt được trình độ đấy
ReplyDelete