cung cấp các câu lệnh cơ bản để người đọc biết cách cài đặt, cấu hình, quản
lý, trouble shooting (giải quyết sự cố) khi có các vấn đề về mạng.
Cách đọc:
Nên đọc từ từ và thử luôn trên máy của mình để tránh tẩu hỏa nhập ma
Từ khóa:
network card interface (NIC) : giao diện mạng. Là một thể hiện trên máy tính, thường đại diện cho một card mạng vật lý, là thứ để người dùng tương tác , cài đặt, cấu hình, điều khiển thiết bị mạng đó. Trong bài này sẽ gọi tắt là interface hay iface
Ví dụ : một máy laptop thường có 2 interface, 1 interface đại diện cho card mạng dây (thường là eth0), 1 interface đại diện cho card mạng wifi (thường là wlan0) .
eth là viết tắt của ethernet.
wlan là viết tắt của wireless lan.
hình ảnh một card ethernet |
I. ip
thay thế hoàn toàn cho lệnh ifconfig đã lỗi thời. ip có các lệnh con để điều khiển , cấu hình các interface mạng. Chương trình ip nằm trong gói iproute:
hvn@lappy: ~ () $ dpkg -S `which ip`Các lệnh của ip có thể rút ngắn tối đa chỉ cần không gây ra nhầm lẫn với các câu lệnh khác.
iproute: /bin/ip
Ví dụ:
ip link set -> ip li se1. ip link
ip addr add -> ip a a
ip route -> ip ro
ip rule -> ip ru
Liệt kê, thay đổi trạng thái (bật / tắt) các interface
hvn@lappy: ~ () $ ip link # lệnh ngắn gọn cho ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether bc:ae:c5:15:44:fb brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 48:5d:60:80:e5:5f brd ff:ff:ff:ff:ff:ff
Tắt interface wlan0:
hvn@lappy: ~ () $ sudo ip link set wlan0 down
Bật interface wlan0:
hvn@lappy: ~ () $ sudo ip link set wlan0 up
2. ip addr
Liệt kê, thêm, xóa địa chỉ ip cho các interface
hvn@lappy: ~ () $ ip addr # lệnh ngắn gọn cho ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether bc:ae:c5:15:44:fb brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 48:5d:60:80:e5:5f brd ff:ff:ff:ff:ff:ff
inet 192.168.0.103/24 brd 192.168.0.255 scope global wlan0
inet6 fe80::4a5d:60ff:fe80:e55f/64 scope link
valid_lft forever preferred_lft forever
Đặt địa chỉ ip cho eth0:
hvn@lappy: ~ () $sudo ip addr add 123.30.12.23/24 dev eth0
hvn@lappy: ~ () $ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether bc:ae:c5:15:44:fb brd ff:ff:ff:ff:ff:ff
inet 123.30.12.23/24 scope global eth0
Xóa địa chỉ vừa đặt:
hvn@lappy: ~ () $ ip add del 123.30.12.23/24 dev eth0
3. ip route (nâng cao)
quản lý routing table (tương đương với lệnh route)
hvn@lappy: ~ () $ ip route # ngắn hơn cho ip route show
default via 192.168.0.1 dev wlan0 metric 100
169.254.0.0/16 dev wlan0 scope link metric 1000
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.103
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
Xóa 1 route:
hvn@lappy: ~ () $ sudo ip route del 169.254.0.0/16 dev wlan0Xóa route mặc định
hvn@lappy: ~ () $ ip route del default dev wlan0
Sau khi xóa
hvn@lappy: ~ () $ ip route
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.103
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
Thêm route mặc định
hvn@lappy: ~ () $ sudo ip route add default via 192.168.0.1 dev wlan0Sau khi thêm:
hvn@lappy: ~ () $ ip ro
default via 192.168.0.1 dev wlan0
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.103
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
4. ip rule (nâng cao)
hvn@lappy: ~ () $ ip rule # ngắn gọn cho ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
Lệnh này ngoài tầm của bài viết, người đọc tự tìm hiểu.
II. dhclient
Dùng để yêu cầu được cấp địa chỉ ip trong một mạng có DHCP server
Ví dụ: xin cấp ip động cho interface wlan0
hvn@lappy: ~ () $ sudo dhclient wlan0
III. tcpdump
Liệt kê các gói tin ra vào một interface
hvn@lappy: ~ () $ sudo tcpdump -ni wlan0 -c 3các options:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:30:29.860695 IP 192.168.0.103.46529 > 8.8.8.8.53: 46841+ A? dantri.com. (28)
13:30:29.949126 IP 8.8.8.8.53 > 192.168.0.103.46529: 46841 1/0/0 A 123.30.53.12 (44)
13:30:29.949504 IP 192.168.0.103 > 123.30.53.12: ICMP echo request, id 22142, seq 1, length 64
3 packets captured
3 packets received by filter
0 packets dropped by kernel
-n : number - hiện số thay vì tên (ip - domain)
-i: interface - chỉ định interface sử dụng
-c: count N - chỉ hiện N gói tin
IV. nmap
ping scan xem có máy nào phản hồi ping trong mạng được chỉ định:
hvn@lappy: ~ () $ nmap -sP 192.168.0.103/24quét xem cổngTCP nào mở ở một địa chỉ ip xác định:
Starting Nmap 5.21 ( http://nmap.org ) at 2013-03-17 13:31 ICT
Nmap scan report for 192.168.0.1
Host is up (0.0027s latency).
Nmap scan report for 192.168.0.103
Host is up (0.00010s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 8.91 seconds
hvn@lappy: ~ () $ nmap -sT 192.168.0.1Các options:
Starting Nmap 5.21 ( http://nmap.org ) at 2013-03-17 13:31 ICT
Nmap scan report for 192.168.0.1
Host is up (0.012s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 6.86 seconds
-sP: Ping Scan
-sT (TCP connect scan)
-sU (UDP scans) .
V. ss
tương đương với lệnh netstat (nhưng nhanh hơn)
Liệt kê thông tin liên quan đến socket (port)
Liệt kê các TCP socket đang listen:
hvn@lappy: ~ () $ sudo ss -nltpLiệt kê các UDP socket đang listen:
hvn@lappy: ~ () $ ss -nluLiệt kê các TCP / UDP socket đang listen:
hvn@lappy: ~ () $ sudo ss -nltup
Kiểm tra ssh server có chạy không:
hvn@lappy: ~ () $ ss -nltp | grep 22
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 *:22 *:*
...
Kểm tra web server có listen ở port 80 không:
hvn@lappy: ~ () $ ss -nltp | grep 80các option đã sử dụng:
-n : hiện số thay vì tên của socket. VD: (cổng 25 - smtp) thì sẽ hiện số 25 thay vì smtp
-l : hiện socket đang listen (các server chạy socket ở chế độ listen, chờ client kết nối)
-t : tcp
-u: udp
-p: hiện tên program sử dụng socket ấy, cần có quyền sudo.
VI: iptables
cấu hình, quản lý tường lửa.
Liệt kê các rule ở table chính (filter):
hvn@lappy: ~ () $ sudo iptables -vnLTìm hiểu thêm:
Chain INPUT (policy ACCEPT 17082 packets, 8661K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
0 0 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67
0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
10 904 ACCEPT all -- * virbr0 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
10 670 ACCEPT all -- virbr0 * 192.168.122.0/24 0.0.0.0/0
0 0 ACCEPT all -- virbr0 virbr0 0.0.0.0/0 0.0.0.0/0
0 0 REJECT all -- * virbr0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- virbr0 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT 18849 packets, 4057K bytes)
pkts bytes target prot opt in out source destination
man tên_chương_trình.
PS:
bài viết thực hiện trên:
hvn@lappy: ~ () $ lsb_release -d
Description: Ubuntu 12.04.2 LTS
nmap không cài sắn trên máy, cần cài thêm bằng lệnh:
hvn@lappy: ~ () $ sudo apt-get install nmap
test comment
ReplyDeletegood
ReplyDelete