Domain name - Những vấn đề cơ bản
Domain name là gì?
Máy tính có thể làm việc rất tốt với những con số nhưng con người thì không. Khi cần
kết nối với một thiết bị trên mạng thì bạn chỉ cần đánh IP của thiết bị đó. Điều này
hiển nhiên là rất rắc rối và khó nhớ, vì vậy tên miền (domain) được tạo
ra.Giống như file, tên miền cũng có đuôi, chúng có ý nghĩa như sau:
.COM: thương mại, công ty hoặc bất kỳ người nào.
.EDU: giáo dục, thường là các trường đại học hoặc trường học.
.MIL: quân sự.
.GOV: chính phủ.
.ORG: các tổi chức, thường là các tổ chức hoạt động phi thương mại. Tuy nhiên mọi
người cũng có thể xó domain này.
.CH,.DE,.VN .: Tuỳ thuộc vào quốc gia đã đăng ký theo tiêu chuẩn thế giới.
Một vài trang web có thể có 2 phần mở rộng là .COM.VN
Tên miền được đưa ra bởi Internic và bạn phải mua nó. Ví dụ nếu bạn muốn có một
web site có tên http://www.tenban.com thì bạn phải trả tiền cho Internic để có được
site này. Sau đó bạn không cần phải trả tiền cho các domain như
ten.tenban.com Khi đánh một tên miền thì sẽ có một server là DNS (Domain
Server Name) tìm kiếm trong bảng tham chiếu xem số IP tương ứng là gì. Nếu không
tìm được, nó sẽ tìm ở một DSN khác! Cùng một IP, có thể có nhiều tên miền khác
nhau và điều này thường xảy ra.
19 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2069 | Lượt tải: 4
Bạn đang xem nội dung tài liệu Domain name - Những vấn đề cơ bản, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
VIETBOOKS
Trang 1
Domain name - những vấn đề cơ bản
1. Domain name là gì?
Máy tính có thể làm việc rất tốt với những con số nhưng con người thì không. Khi cần
kết nối với một thiết bị trên mạng thì bạn chỉ cần đánh IP của thiết bị đó. Điều này
hiển nhiên là rất rắc rối và khó nhớ, vì vậy tên miền (domain) được tạo
ra.Giống như file, tên miền cũng có đuôi, chúng có ý nghĩa như sau:
.COM: thương mại, công ty hoặc bất kỳ người nào.
.EDU: giáo dục, thường là các trường đại học hoặc trường học.
.MIL: quân sự.
.GOV: chính phủ.
.ORG: các tổi chức, thường là các tổ chức hoạt động phi thương mại. Tuy nhiên mọi
người cũng có thể xó domain này.
.CH,.DE,.VN...: Tuỳ thuộc vào quốc gia đã đăng ký theo tiêu chuẩn thế giới.
Một vài trang web có thể có 2 phần mở rộng là .COM.VN
Tên miền được đưa ra bởi Internic và bạn phải mua nó. Ví dụ nếu bạn muốn có một
web site có tên thì bạn phải trả tiền cho Internic để có được
site này. Sau đó bạn không cần phải trả tiền cho các domain như
ten.tenban.com....Khi đánh một tên miền thì sẽ có một server là DNS (Domain
Server Name) tìm kiếm trong bảng tham chiếu xem số IP tương ứng là gì. Nếu không
tìm được, nó sẽ tìm ở một DSN khác! Cùng một IP, có thể có nhiều tên miền khác
nhau và điều này thường xảy ra.
Ví dụ: nếu ISP của bạn là vnn.com và web site của bạn là http://
www.vnn.com/mypage thì bạn có trả tiền cho tên miền mypage.com và mọi người có
thể truy cập vào site của bạn bằng và tất nhiên là
vẫn tồn tại. Dấu " / " chỉ ra thư mcụ mà lưu trữ trang
web trên server.
2. Domain có thể nói lên điều gì:
Khi bạn kết nối với ISP, bạn sẽ có một IP và IP này sẽ có một tên miền.
Ví dụ: ISP của bạn là vnn.com thì bạn có thể có tên miền là users.server1.vnn.com
và mọi người có thể biết ISP của bạn là ai và quốc tịch của bạn là gì.
3. Đổi tên miền như thế nào:
Có thể dăng ký một tên mới, mua một IP cố định hoặc đổi ISP. Bảng tham chiếu DNS
được tạo ra từ yêu cầu của DNS chứa tên miền. Ví dụ nếu bạn sở hữu "name.com"
DNS server sẽ gởi yêu cầu đến DNS server của bạn về "ten.name.com". Bảng tham
chiếu này không thể bị sữa chữa trừ khi bạn có toàn quyền truy cập vào DNS server.
Nhưng không có một bảng tham chiếu nào có đầy đủ tất cả các tên miền. Vì vậy khi
nó không tìm được tên miền thì nó sẽ gởi yêu cầu đến một DNS khác.
Để tăng tốc đọ xử lí, DNS còn có một bộ nhớ cache. Khi có nhiều người cùng yêu cầu
một tên miền, thì DNS server sẽ tìm trong cache trước. Nếu bạn gởi thông tin giả
đến DNS cache và người khác cùng đến một địa chỉ họ cũng sẽ nhận được thông tin
giả mạo đó.
VIETBOOKS
Trang 2
Tìm hiểu về địa chỉ IP
1. Địa chỉ IP là gì?
- mỗi máy tính khi kết nối vào Internet đều có một địa chỉ duy nhất, đó chính là địa
chỉ IP. Địa chỉ này dùng để phân biệt máy tính đó với các máy khác còn lại trên
mạng Internet
- địa chỉ IP là một số 32 bit, = 4 byte nên có thể xem một địa chỉ IP được tạo thành
từ 4 số có kích thước 1 byte, mỗi số có giá trị từ 0 đến 255. Mỗi địa chỉ IP đều gồm 2
phần là địa chỉ mạng(network) và địa chỉ máy(host)
- ví dụ về địa chỉ IP: 45.10.0.1, 168.10.45.65, ...
2. Làm sao để địa chỉ IP của mình và địa chỉ IP của một trang Web?
- để xem địa chỉ của mình thì bạn vào Start --> Run rồi gõ lệnh : winipcfg hoặc bạn
vào trang www.whatismyip.com , nó sẽ hiện thị IP của bạn
- để xem địa chỉ của một trang Web thì bạn dùng lệnh nslookup
3. Các lớp địa chỉ IP
- toàn bộ địa chỉ IP được chia vào 6 lớp khác nhau: A,B,C,D,E và loopback. Mỗi lớp sẽ
có cách xác định địa chỉ network và địa chỉ host khác nhau.
- Biểu đồ:
Cấu trúc địa chỉ
IP Lớp
0 32
Format
Số bit
mạng/số
bit host
Tổng số
mạng/lớp
Tổng số
host/mạng Vùng địa chỉ IP
A 0 netid hostid N.H.H.H 7/24 2
7-2=126
224-
2=17.777.214
1.0.0.1-
126.0.0.0
B 1 0 netid hostid N.N.H.H 14/16
214-
2=16382
216-2=65.643
128.1.0.0-
191.254.0.0
C 1 1 0 netid hostid N.N.N.H 22/8
222-
2=4194302
28-2=245
192.0.1.0-
223.255.254.0
D 1 1 1 0
địa chỉ
multicast
- - - -
224.0.0.0-
239.255.255.255
E 1 1 1 1
dành
riêng
- - - -
240.0.0.0-
254.255.255.255
Loopback - - - - - 127.x.x.x
*ghi chú: N=Network, H=Host
- Giải thích:
+ Lớp A: bit đầu tiên bằng 0, 7 bit tiếp theo N dành cho địa chỉ network nên có tối đa
27-2=126 trên lớp A, 24 bit còn lại H.H.H dành cho địa chỉ host nên mỗi mạng thuộc
VIETBOOKS
Trang 3
lớp A sẽ có tối đa là 224-2=17.777.214 máy. Nguyên nhân phải trừ đi 2 vì có hai địa
chỉ được dành riêng là địa chỉ mạng(x.x.x.0) và địa chỉ broadcast(x.x.x.255). Lớp A
chỉ dành cho các địa chỉ của các tổ chức lớn trên thế giới. Vùng địa chỉ IP của lớp A là
1.0.0.1 đến 126.0.0.0
+ Lớp B: bit 0 = 0, 14 bit tiếp theo dành cho địa chỉ netwrok, 16 bit còn lại dành cho
địa chỉ host. Tổng số mạng trên lớp B là 16382, mỗi mạng chứa tối đa 65.643
máy(cách tính tương tự như lớp A). Lớp B được dành cho các địa chỉ của các tổ chức
hạng trung trên thế giới. Vùng địa chỉ dành cho lớp B là 128.1.0.0 đến 192.254.0.0
+ Lớp C: 3 bit đầu tiên là 110, 22 bit tiếp theo dành cho network, 8 bit còn lại dành
cho host. Số mạng tối đa trên lớp C là 4194302, số host tối đa trên mỗi mạng là 245.
Lớp C được dành cho các tổ chức nhỏ và cả máy tính của bạn nữa;). Vùng địa chỉ của
lớp C là 192.0.1.0 đến 223.255.254.0
+ Lớp D: 4 bit đầu tiên luôn là 1110. Lớp D được dành cho các nhóm multicast, vùng
địa chỉ từ 224.0.0.0 đến 239.255.255.255
+ Lớp E: 4 bit đầu tiên luôn là 1111. Lớp D được dành cho mục đích nghiên cứu,
vùng địa chỉ từ 240.0.0.0 đến 254.255.255.255
+ Loopback: địa chỉ quay trở lại, 127.x.x.x. Bạn thường bắt gặp địa chỉ IP 127.0.0.1,
đây chính là địa chỉ IP quay trở lại máy tính mà bạn đang dùng để kết nối vào mạng
- Ví dụ: 128.7.15.1
bin 10000000 00000111 00001111 00000001
dec 128 7 15 1
2 bit đầu tiên là 10, như vậy địa chỉ này thuộc lớp B(N.N.H.H), từ đó bạn có thể suy
ra được địa chỉ mạng là 128.7 và địa chỉ máy là 15.1
- Bạn cũng có thể dựa vào byte đầu tiên của địa chỉ IP để xác định một cách nhanh
chóng và chính xác nó thuộc lớp nào?!
Lớp Byte đầu tiên của địa chỉ IP
A 1-126
B 128-191
C 192-223
D 224-239
E 240-254
Loopback 127
- Có một số địa chỉ IP đặc biệt sau:
0.0.0.0 - địa chỉ của máy hiện tại
255.255.255.255 - địa chỉ broadcast giới hạn của mạng cục bộ
x.x.x.255 - địa chỉ boardcast trực tiếp của mạng x.x.x.0
127.x.x.x - địa chỉ loopback
VIETBOOKS
Trang 4
- Ví dụ:
* Gateway trên hình vẽ thuộc 2 mạng khác nhau nên nó phải có đến 2 địa chỉ IP là
128.10.2.70 và 192.5.48.7
3. Chi tiết về subnet
- để cấp phát địa chỉ IP cho các mạng khác nhau một cách hiệu quả và dễ quản lí,
người ta dùng một kĩ thuật được gọi là subnet. Subnet sẽ vay mượn một số bit của
hostid để làm subnet mask(mặt nạ mạng). Tôi sẽ chỉ rõ cho các bạn qua các ví dụ.
Bạn chỉ cần nhớ 3 điều sau:
+ subnet mask có tất cả các bit network và subnet đều bằng 1, các bit host đểu
bằng 0
+ tất cả các máy trên cùng một mạng phải có cùng một subnet mask
+ để phân biệt được các subnet(mạng con) khác nhau, bộ định tuyến dùng phép
logic AND
- Ví dụ 1: địa chỉ lớp mạng lớp B 128.10.0.0 có thể subnet như sau:
(a) dùng 8 bit đầu tiên của hostid để subnet:
Subnet mask = 255.255.255.0
Network Network Subnet Host
11111111 11111111 11111111 00000000
255 255 255 0
VIETBOOKS
Trang 5
Như bạn thấy số bit dành cho subnet sẽ là 8 -> có tất cả 28-2=254 subnet(mạng
con). Địa chỉ của các subnet lần lượt là 128.10.0.1, 128.10.0.2, 128.10.0.3, ...,
128.10.0.245. 8 bit dành cho host nên mỗi subnet sẽ có 28-2=254 host, địa chỉ của
các host lần lượt là 128.10.xxx.1, 128.10.xxx.2, 128.10.xxx.3, ..., 128.10.xxx.254
Giả sử như bạn có một mạng lớp B địa chỉ 128.10.0.0 được subnet với subnet mask
= 255.255.255.0 như sau:
Làm thế nào để gateway G có thể phân biệt được các host thuộc mạng con
128.10.1.0 hay 128.10.2.0? Nó sẽ thực hiện phép AND địa chỉ IP của host với subnet
mask 255.255.255.0
*[H1] 128.10.1.1 AND 255.255.255.0
128. 10. 1.1 = 10000000.00001010.00000001.00000001
AND 255.255.255.0 = 11111111.11111111.11111111.00000000
Kết quả = 10000000.00001010.00000001.00000000
*[H2] 128.10.2.2 AND 255.255.255.0
128. 10. 1.1 = 10000000.00001010.00000010.00000010
AND 255.255.255.0 = 11111111.11111111.11111111.00000000
Kết quả = 10000000.00001010.00000010.00000000
Như vậy gateway G có thể dễ dàng xác định được địa chỉ subnet của H1 và H2 và
biết được nó thuộc 2 subnet khác nhau.
(b) chỉ dùng 7 bit đầu tiên của hostid để subnet:
VIETBOOKS
Trang 6
Subnet mask = 255.255.254.0 = 11111111.11111111.11111110.00000000
Như vậy số bit dành cho subnet sẽ là 7 -> có tất cả 27-2=126 subnet(mạng con).
Nhưng bù lại, mỗi subnet sẽ có đến 510 host do 9 bit sau được dành cho host, 29-
2=510. Địa chỉ của các subnet và host như sau:
Subnet ID Hosts
128.10.0.0 128.10.0.1-128.10.0.254
128.10.2.0 128.10.2.1-128.10.3.254
128.10.4.0 128.10.4.1-128.10.5.254
... ...
128.10.254.0 128.10.254.1-128.10.255.254
+ ví dụ 1: 128.10.2.1 & 128.10.3.254 ?!
128.10. 2.1 = 10000000.00001010.00000010.00000001
AND 255.255.254.0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
128. 10. 3.254 = 10000000.00001010.00000011.11111111
AND 255.255.254. 0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
-> 128.10.2.1 & 128.10.3.254 thuộc cùng 1 subnet
+ ví dụ 2: 128.10.2.1 & 128.10.5.75 ?
128.10. 2.1 = 10000000.00001010.00000010.00000001
AND 255.255.254.0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
128. 10. 5.75 = 10000000.00001010.00000101.01001011
AND 255.255.254. 0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000100.00000000
-> 128.10.2.1 & 128.10.5.75 thuộc 2 subnet khác nhau
VIETBOOKS
Trang 7
4. IPCalc 2.0.7 - 1 chương trình giúp bạn tính toán nhanh subnet mask
Bạn có thể tìm thấy tiện ích này trên đĩa WebLH-Net hoặc cũng có thể download tại
5. Phân biệt giữa địa chỉ IP tỉnh và địa chỉ IP động
- các máy tính kết nối vào mạng Internet thường xuyên, chẳng hạn như 1 WEB
server hoặc FTP server luôn phải có một địa chỉ IP cố định gọi là địa chỉ IP tĩnh. Đối
với các máy tính thỉnh thoảng mới kết nối vào Internet, chẳng hạn như máy của tôi
và bạn dùng kết nối cùng kết nối quay số đến ISP. Ví dụ mỗi lần tôi dùng Internet,
DHCP(Dynamic Host Configuration Protocol) server của VDC ISP sẽ cung cấp cho tôi
một địa chỉ IP chẳng hạn như 203.162.30.209. Lần sau tôi vào lại mạng Internet, địa
chỉ IP của tôi có thể là 203.162.30.186 vì DHCP server của VDC sẽ chọn một địa chỉ
IP còn rãnh để cấp phát cho máy tôi. Như vậy, địa chỉ IP của máy tôi là địa chỉ IP
động.
- để xác định được địa chỉ IP động của máy mình khi đang dùng Internet, trên
Windows bạn hãy chạy Start/Run: winipcfg
VIETBOOKS
Trang 8
Tìm hiểu về "Ping"
Ping là gì?
Ping là một chương trình cho phép bạn xác định một host còn hoạt động(alive) hay
không?
Một ví dụ về Ping!
C:\> ping www.aqnet.com
Pinging www.aqnet.com [209.54.218.119] with
32 bytes of data:
Reply from 209.54.218.119: bytes=32
time<10ms TTL=128
Reply from 209.54.218.119: bytes=32
time<10ms TTL=128
Reply from 209.54.218.119: bytes=32
time<10ms TTL=128
Reply from 209.54.218.119: bytes=32
time<10ms TTL=128
Ping statistics for 209.54.218.119:
Packets: Sent = 4, Received = 4, Lost = 0 (0%
loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average =
0ms
C:\>
www.aqnet.com(209.54.218.119) -> alive!
Nếu bạn nhận được thông báo "Host Alive", điều này có nghĩa là host không còn hoạt
động!
Ping hoạt động ra sao?
Ping gởi một ICMP message "echo request" đến host. Nếu nhận được một ICMP
message "echo reply" của host, ping sẽ thông báo host còn hoạt động. Nếu không
nhận được ICMP message "echo reply" của host, ping sẽ thông báo host này đã
ngừng hoạt động!
Format của ICMP "echo request" và "echo reply" có dạng như sau:
VIETBOOKS
Trang 9
0 7 8 15 16 31
+-----------------+-----------------+-------------------+
| Type (0 or 8) | Code (0) |16-bit Checksum |
+-----------------+-----------------+-------------------+
| Indentifier | sequence number |
+-----------------+-----------------+-------------------+
| |
| (Optional Data) |
| |
+---------------------------------------------------------+
Bất cứ lúc nào host nhận được một ICMP request message, nó sẽ phản hồi trở lại với
một identifier và số sequence number. Trong hầu hết các hệ thống Unix, trường
indentifier được đặt số Process ID của tiến trình gởi gói packet đi. Vì vậy, nếu bạn
ping cùng một lúc nhiều lần đến một hệ thống Unix, giá trị indentifier mà bạn nhận
được trong mỗi lần ping sẽ khác nhau!
Trường sequence number có giá trị mặc định là 0. Giá trị này sẽ được tăng một sau
mỗi lần hệ thống phản hồi ICMP request message của chương trình ping. Ping sẽ in
ra giá trị sequence number của mỗi lần nhận packet, điều này cho chúng ta biết được
các gói packet có gặp lỗi hay không?!
(Để biết chi tiết về các trường khác, bạn hãy tham khảo các bài viết về giao thức
TCP-IP!)
Bây giờ chúng ta hãy xem qua ví dụ cuối cùng:
# ping hackingtruths.box.sk
Pinging hackingtruths.box.sk [194.x.yyy.227] with
32 bytes of data:
32 bytes from 194.x.yyy.227: icmp_seq=0
ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=1
ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=2
ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=3
ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=4
ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=5
ttl=225 time=0 ms
32 bytes from 194.x.yyy.227: icmp_seq=6
ttl=225 time=0 ms
...
Ở dòng đầu tiên, ping phân tích hostname ra địa chỉ ip. Bạn có nhận thấy giá trị
icmp_seq tăng dần từ 0 sau mỗi lần ping nhận được ICMP message "echo reply" từ
host không? Như vậy là các gói packet mà chúng ta nhận điều không gặp lỗi gì hết!
Ping còn cho chúng ta biết thời gian TTL(Time To Live) nữa! Ping lưu thời gian mỗi
VIETBOOKS
Trang 10
lần gởi ICMP message "echo request". Khi nhận được ICMP message "echo reply" từ
host, Ping sẽ lấy thời gian hiện tại trừ đi giá trị này sẽ ra TTL!
Tìm hiểu về FTP
Giới thiệu
FTP là chữ viết tắc của File Transfer Protocol - Giao thức truyền file. FTP là một giao
thức truyền file trên mạng dựa trên chuẩn TCP nên rất đáng tin cậy!
Một số lệnh phổ biến của FTP
Sau đây là danh sách một số lệnh thường dùng kèm theo hướng dẫn mà bạn cần
biết!
ascii chuyển sang chế độ truyền file theo dạng văn bản
binary chuyển sang chế độ truyền file theo dạng nhị phân
cd [directory] chuyển vào thư mục directory
cdup chuyển lên thư mục cấp trên một cấp
close ngắt kết nối với máy chủ
del [remote-file] xóa 1 file trên máy chủ
dir [remote-directory|file] liệt kê nội dung của thư mục hoặc danh sách các file trên
máy chủ
help [command] cho biết hướng dẫn về lệnh command
lcd [local-directory] đặt lại thư mục làm việc trên client là local-directory
ls [remote-directory|file] [-la] liệt kê nội dung của thư mục hoặc danh sách các file
trên máy chủ; tham số -la sẽ liệt kê tất cả có kèm theo mô tả về quyền
mdelete [remote-files] xóa nhiều file trên máy chủ
mget [remote-files] download các files trên máy chủ về
mkdir tạo thư mục có tên directory-name
mput [local-files] upload các files lên máy chủ
open host [port] kết nối đến máy chủ FTP có hostname là host và đang chạy dịch vụ
FTP ở cổng port
put [remote-file] upload local-file lên máy chủ với tên mới là remote-file
nếu được
pwd cho biết thư mục đang làm việc hiện thời
quit thoát
recv [local-file] nhận remote-file trên máy chủ và lưu trên máy tính
với tên local-file nếu được
rename [from] [to] đổi tên file hoặc thư mục from thành to
rmdir directory-name xóa thư mục có tên directory-name
send local-file [remote-file] gởi local-file từ máy tính lên máy chủ với tên mới là
remote-file nếu được
status cho biết trạng thái của phiên làm việc hiện tại
syst cho biết hệ điều hành của máy chủ
user user-name [password] [account] login vào với tên là user-name, mật khẩu là
password, tài khoản là account
? gọi hướng dẫn
VIETBOOKS
Trang 11
Các ví dụ
Để dễ hiểu, các bạn hãy xem các ví dụ sau:(tôi sử dụng các này để upload mấy file
lên website đó, không cần dùng các chương trình FTP mạnh như WS_FTP Pro,
FTPNet, CuteFTP, AbsoluteFTP, ...!) Tôi lưu trang web cần tải lên server trong
c:\website! Bây giờ tôi sẽ tải nó lên!
C:\website>ftp myftpsrv // kết nối đến máy chủ myftpsrv
Connected to myftpsrv.
User (ftpsrv:(none)): dt
331 User name okay, need password.
Password:
230 User logged in, proceed.
ftp> pwd // cho biết thư mục hiện tại đang làm việc!
257 "/home/dt" is current directory.
ftp> status // xem trạng thái hiện tại
Type: ascii; Verbose: On ; Bell: Off ; Prompting: On ; Globbing: On
Debugging: Off ; Hash mark printing: Off . // ascii=1
ftp> cd www // chuyển vào thư mục www
250 Directory changed to /home/dt/www
ftp> put index.html // upload file index.html lên server
200 PORT Command successful.
150 Opening ASCII mode data connection for index.html.
226 Transfer complete.
ftp: 2095 bytes sent in 0.00Seconds 2095000.00Kbytes/sec.
ftp> mkdir tools // tạo thư mục /home/dt/www/tools
257 "/home/dt/www/tools" directory created.
ftp> cd tools // chuyển vào thư mục tools
250 Directory changed to /home/dt/www/tools
ftp> lcd c:\website\tools // thay đổi lại local directory = c:\website\tools
Local directory now C:\website\tools.
ftp> bin // chuyển sang chế độ truyền file nhị phân
200 Type set to I.
ftp> mput *.* // upload tất cả các file trong c:\website\tools lên server, vào
/home/www/tools/
mput test.zip? y
200 PORT Command successful.
150 Opening BINARY mode data connection for test.zip.
226 Transfer complete.
ftp: 10168 bytes sent in 0.06Seconds 169.47Kbytes/sec.
mput test.exe? y
200 PORT Command successful.
150 Opening BINARY mode data connection for test.exe.
226 Transfer complete.
ftp: 54625 bytes sent in 0.11Seconds 496.59Kbytes/sec.
ftp> ls -la // liệt kê nội dung của /home/www/tools
200 PORT Command successful.
150 Opening ASCII mode data connection for /bin/ls.
drwxr--r-- 1 dt group 0 Sep 30 14:13 .
drwxr--r-- 1 dt group 0 Sep 30 14:13 ..
-rwxr--r-- 1 dt group 54625 Sep 30 14:14 test.exe
-rwxr--r-- 1 dt group 10168 Sep 30 14:14 test.zip
226 Transfer complete.
VIETBOOKS
Trang 12
ftp: 247 bytes received in 0.00Seconds 247000.00Kbytes/sec.
ftp> del test.exe // tôi lỡ tay upload lên file test.exe, bây giờ tôi cần phải xóa nó
250 DELE command successful.
ftp> cd .. // chuyển lên thư mục cấp trên
250 Directory changed to /home/dt/www
ftp> mkdir cgi-bin2 // tạo thư mục mới
257 "/home/dt/www/cgi-bin2" directory created.
ftp> rename cgi-bin2 cgi-bin // tôi đã nhập vào sai mất rồi, bây giờ phải đổi tên lại
thôi!
350 File or directory exists, ready for destination name
250 RNTO command successful.
ftp> cd cgi-bin // chuyển vào thư mục cgi-bin
250 Directory changed to /home/dt/www/cgi-bin
ftp> lcd c:\website\cgi-bin // đặt lại local directory!
Local directory now C:\website\cgi-bin.
ftp> ascii // chuyển sang chế độ truyền file văn bản vì tôi cần upload một số file .cgi
+ .pl
200 Type set to A.
ftp> put test.cgi // upload file test.cgi
200 PORT Command successful.
150 Opening ASCII mode data connection for test.cgi.
226 Transfer complete.
ftp: 222 bytes sent in 0.00Seconds 222000.00Kbytes/sec.
ftp> ls -la // xem nội dung của /home/www/cgi-bin
200 PORT Command successful.
150 Opening ASCII mode data connection for /bin/ls.
drwxr--r-- 1 dt group 0 Sep 30 14:16 .
drwxr--r-- 1 dt group 0 Sep 30 14:16 ..
-rwxr--r-- 1 dt group 222 Sep 30 14:17 test.cgi
226 Transfer complete.
ftp: 182 bytes received in 0.00Seconds 182000.00Kbytes/sec.
ftp> site chmod 755 test.cgi // đặt quyền 755(wrxx-xr-x) cho file test.cgi
ftp> ls -la // tôi liệt kê lại thư mục cgi một lần nữa
200 PORT Command successful.
150 Opening ASCII mode data connection for /bin/ls.
drwxr-xr-x 1 dt group 0 Sep 30 14:16 .
drwxr-xr-x 1 dt group 0 Sep 30 14:16 ..
-rwxr-xr-x 1 dt group 222 Sep 30 14:17 test.cgi
226 Transfer complete.
ftp: 182 bytes received in 0.00Seconds 182000.00Kbytes/sec.
ftp> bye // tất cả đã xong, bây giờ tôi có thể ngắt kết nối được rồi!
221 Goodbye!
C:\website>
Hi vọng là bạn hiểu được ví dụ trên!
Nói thêm về FTP
Làm thế nào để kết nối với một máy chủ FTP qua một proxy-server, chẳng hạn như
Wingate? Chỉ cần ftp đến proxy-server này và gõ vào như dạng sau,
user@host[:port]. Ví dụ máy tôi đang chạy Wingate-FTP ở cổng 21 và Serv-U FTP-
VIETBOOKS
Trang 13
Server v2.5i ở cổng 2121, tôi có thể kết nối đến Serv-U FTP-Server v2.5i qua
Wingate-FTP như sau:
C:\>ftp localhost
Connected to dt.
220 WinGate Engine FTP Gateway
ready
User (dt:(none)):
dt@localhost:2121
331 User name okay, need
password.
Password:
230 User logged in, proceed.
ftp>
Okay, bây giờ tôi upload và download file như bình thường được rồi!
Hack với FTP
Đôi khi FTP cũng cho biết một số thông tin rất quan trọng! Bạn dễ dàng đoán được
hệ điều hành của máy chủ FTP! Hãy xem các ví dụ sau:
C:\>ftp localhost
Connected to dt.
220 dt Microsoft FTP Service (Version
1.0).
User (dt:(none)): anonymous
331 Anonymous access allowed, send
identity (e-mail name) as password.
Password:
230-Windows 95 FTP Service.
230 Anonymous user logged in as
anonymous.
Yeah! Chắc ăn là server này là PWS chạy trên Windows!
Nếu như admin vô hiệu hóa dòng quảng cáo trên thì sao!? Vẫn còn cách khác! Bạn
login vào và phát lệnh syst như sau:
ftp> literal syst
215 Windows_NT
version 4.10
Hình như hệ điều hành của máy chủ là Win9.x hoặc WinNT thì phải!
(Nếu bạn đang chạy Linux* thì chỉ cần gõ syst).
VIETBOOKS
Trang 14
Dạo chơi cùng Telnet
Telnet là gì?
Telnet là một chương trình terminal đầu cuối. Nó thường dùng để login vào một máy
chủ nào đó trên các daemon khác nhau của máy chủ đó! Trong bài viết này, tôi sẽ
chỉ cho bạn cách thu thập một số thông tin về máy chủ qua telnet. Bạn cũng sẽ được
cách check mail, gởi mail và đặc biệt là có thể tham gia vào các kênh chat IRC của
nước ngoài nữa đó! Tất cả chỉ bằng Telnet!
Daemon là gì?
Daemon(hay còn được gọi là "service") là một chương trình chạy trên một cổng nhất
định nào đó. Nó sẽ chịu đáp ứng lại mọi yêu cầu của client khi client này kết nối đến
server trên cổng đó. Ví dụ như smtp daemon theo mặc định chạy trên cổng 25. Để
có thể check mail, máy của bạn phải kết nối đến server này trên cổng 25, cổng mà
smtp daemon đang nắm giữ!
Một số lệnh cơ bản của Telnet
Đây là một số lệnh cơ bản của Telnet mà bạn cần nhớ!
close đóng kết nối hiện tại
logout
display hiển thị các tham số điều khiển
mode thay đổi mode kí tự
open kết nối đến một site
quit thoát telnet
send gởi các kí tự đặc biệt
set đặt các tham số điều khiển
unset gở bỏ các tham số điều khiển đã đặt
status cho biết các thông tin về trạng thái hiện tại
toggle chốt các tham số điều khiển
slc thay đổi trạng thái của các kí tự đặc biệt
z pause telnet
! tạo một subtelnet(telnet con)
environ thay đổi các biến trạng thái
? gọi hướng dẫn sử dụng telnet
(Để biết thêm thông tin về telnet, bạn hãy gõ "man telnet" trong Linux*)
Phát hiện WEB SERVER bằng telnet
đang dùng web server gì nhỉ? Bạn hãy mở "MS-DOS
Prompt" và gõ vào:
C:\> telnet www.tnh.com.vn 80
Chúng ta telnet đến ở cổng 80!
VIETBOOKS
Trang 15
Tiếp theo bạn gõ vào "GET / HTTP/1.1"(không có dấu nháy ") và nhấn phím
hai lần, bạn sẽ nhận được những thông tin sau:
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/4.0
Date: Wed, 04 Jul 2001 06:52:31 GMT
Content-Type: text/html
Content-Length: 87
ErrorThe
parameter is incorrect.
Connection to host lost.
Hãy xem chúng ta thu thập được những gì?
dòng 1: phiên bản của http service: HTTP/1.1 (có khi là PHP/4.0). Đây là mã trạng
thái HTML
dòng 2: http server, Microsoft-IIS/4.0
dòng 3: ngày giờ +GTM
dòng 4: phân loại nội dung
dòng 5: chiều dài của các kí tự
Chỉ cần để ý đến dòng 2, bạn có thể biết chắc ăn 100% là
đang chạy IIS v4.0!
(Lưu ý: bạn hãy bật chế độ ghi nhật kí cho Telnet, mắt bạn không tài nào nhìn thấy
được các dòng trên đâu! Nó hiện ra quá nhanh...! Hãy vào Terminal/Start Logging...
và chỉ định một file nhật kí cho Telnet...!)
Bây giờ bạn thử telnet đến xem sao?!
C:\> telnet
www.astalavista.box.sk 80
GET / HTTP/1.1
HTTP/1.1 400 Bad Request
Date: Wed, 04 Jul 2001 06:51:37
GMT
Server: Apache/1.3.19 (Unix)
PHP/4.0.4pl1
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html;
charset=iso-8859-1
Bạn có thể thấy ngay là đang chạy Apache v1.3.19
trên nền Unix cùng với PHP v4.0.4!
VIETBOOKS
Trang 16
Download và upload file bằng Telnet
Nếu bạn biết chính xác địa chỉ của một file trên http server, bạn có thể download nó
về bằng cách telnet đến http server đó (ở cổng 80) và gõ vào theo dạng sau "HEAD
HTTP/1.1" thay cho "GET / HTTP/1.1". Ví dụ như
"HEAD /wordlist.txt HTTP/1.1"
Nếu http server cho phép bạn upload file(thường thì không có chuyện này đâu!), bạn
hãy dùng lệnh "PUT" để upload file lên. Ví dụ như "PUT /contact.htm HTTP/1.1"
Gởi thư bằng Telnet(dùng SMTP)
SMTP - Simple Mail Transfer Protocol là một daemon thường dùng để send mail.
Cổng mặc định của nó là 25. Okay, bây giờ bạn hãy mở telnet đi!
C:\> telnet mail.newmail.net 25
------ connected ------
220 digital Microsoft ESMTP MAIL Service, Version:
5.0.2195.1600 ready at Wed,
4 Jul 2001 18:47:27 +1000
-----------------------
dòng 1: mã số trạng thái 220: digital(domain hoặc địa chỉ ip của server):
esmtp(extended) version 5.0.2195.1600
dòng 2: thời gian +GMT
Bây giờ thì bạn cần phải biết một số lệnh của smtp. Hãy gõ vào lệnh '?(hoặc '/?') và
'help' để gọi hướng dẫn! Tiếp theo, hãy send mail...!
----- các lệnh ------
HELO server.com (x authentication)
MAIL FROM: admin@server.com (địa chỉ email
của người gởi)
RCPT TO: victim@victimserver.net (địa chỉ email
của người nhận)
DATA (các dữ liệu trong thư)
SUBJECT email subject (dòng subject)
một message cơ bản, cũng có khi là giả mạo
. (kết thúc message bằng một dòng chỉ có một
dấu chấm '.')
----------------------
(Tôi không đề cập chi tiết cách gởi thư nặc danh ở đây, bạn hãy tham khảo bài viết
"Gởi thư nặc danh và dội bom thư bằng Sendmail" sẽ rõ!)
VIETBOOKS
Trang 17
Nhận thư qua Telnet(dùng POP3)
POP3 - Post Office Protocol Version 3. POP3 daemon thường được chạy ở cổng
110(đây là cổn chuẩn của nó). Để check mail, bạn phải kết nối đến server đang chạy
POP3 daemon ở cổng 110!
C:\> telnet mail.newmail.net 110
------ connected ------
+OK DPOP Version number supressed.
-----------------------
Bây giờ thì bạn có thể vào check mail được rồi đó! Hãy xem qua các lệnh sau:
----- các lệnh ------
USER username (username của bạn)
+OK dazzed nice to hear from you -
password required
PASS password (mật khẩu để vào hòm
thư của bạn)
+OK password accepted
LIST (liệt kê tất cả các thư)
1. 3045bytes
2. 345bytes
3. 8837bytes
RETR 2 (đọc lá thư thứ 2)
----------------------
Dễ không?
Tham gia vào các kênh chat IRC của nước ngoài!
Hãy theo tôi..!
Đầu tiên bạn telnet đến nether.net, đăng nhập với tên login là newuser và tạo một
account cho bạn!
C:\> telnet
nether.net
login: newuser
Okay, bây giờ hãy login vào với shell account mà bạn vừa đăng kí và chat IRC!
VIETBOOKS
Trang 18
IRC
mở IRC client
/SERVER irc.box.sk 6667
kết nối đến irc.box.sk ở cổng
6667
/NICK Dazzed
hãy chọn một nickname...!
/JOIN #lameindustries
bây giờ hãy tham gia vào kênh
chat mà bạn muốn! :)
Port surfing(duyệt cổng)
Port surfing nghĩa là kết nối đến các cổng của một máy chủ để thu thập các thông
tin, chẳng hạn như thời gian, hệ điều hành, các dịch vụ đang chạy, ...! Sau đây là
danh sách một số cổng mà bạn nên biết!
Interesting ports
7 echo bất kì những gì bạn nhập vào sẽ
được host gởi trả lại(echo) bạn, không
hữu ích cho lắm!
11 systat rất nhiều thông tin về users
13 daytime thời gian và ngày tháng ở máy
chủ
15 netstat thông tin về networks
21 ftp file transfer protocol
23 telnet nơi bạn có thể login.
25 smpt simple mail transfer protocol
37 time time
39 rlp resource location
43 whois thông tin về hosts và networks
53 domain nameserver
79 finger rất nhiều thông tin về users
(thường bị disable)
80 http web server
110 pop incoming email
119 nntp usenet news groups
443 https một web server khác nhưng an
toàn hơn!
512 biff mail notification
513 rlogin - remote login
514 shell remote command, không cần
dùng mật khẩu! syslog remote system
logging
520 route routing information protocol
Bạn thấy telnet thế nào? Tuyệt vời...! Tuy nhiên còn có một công cụ mạnh hơn cả
Telnet nữa đó...! Netcat?! Yeah!
VIETBOOKS
Trang 19
Các file đính kèm theo tài liệu này:
- Domain name - những vấn đề cơ bản.pdf