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.

pdf19 trang | Chia sẻ: tlsuongmuoi | Ngày: 27/05/2013 | Lượt xem: 1362 | Lượt tải: 4download
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:

  • pdfDomain name - những vấn đề cơ bản.pdf