banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: vietwow  XML
Profile for vietwow Messages posted by vietwow [ number of posts not being displayed on this page: 0 ]
 

quanta wrote:

nhanth87 wrote:
Nếu dùng && thì sau khi lệnh 1 kết thúc sẽ chạy tiếp lệnh thứ 2.
 

Vẫn sai. 


Lệnh thứ nhất thực hiện success thì mới thực hiện tiếp lệnh 2, ngược lại thì ko smilie
Thanx bạn smilie
Hi nvmanh1990,

Ko biết bạn có thể post full source code của chương trình này ko ? Vì mình cũng đang tập lập trình kernel smilie

Thanx smilie

conmale wrote:
Có một giải thích rất súc tích:

http://www.linfo.org/kernel_space.html 


hi anh conmale,

Theo tài liệu anh đưa thì những process nào sử dụng system call thì chính là sử dụng (access) đến kernel space. Nhưng theo em biết thì hầu như mọi hoạt động lớn nhỏ trong linux đều phải dùng đến system call như open file, edit file, delete file ... như vậy thì theo anh, những process như thế nào sẽ là những process chỉ chạy userspace mà ko tác động đến kernelspace ?
Theo như mình đọc 1 số ebook và tài liệu thì trong linux chia làm 2 phần riêng biệt là Userspace (user mode) và kernel space (kernel mode hay còn gọi là system mode), và bất cứ process nào khi chạy cũng nằm trong những mode này. Và khi ta chạy 1 chương trình thì nó có thể chạy ở cả 2 mode này hoặc chỉ chạy 1 trong 2 mode, sử dụng lệnh time trong linux ta sẽ biết được điều này, vd :

time perl -e 'log(2.0) foreach(0..0x100000)'
real 0.40
user 0.20
sys 0.00 


Có nghĩa là process này ko sử dụng đến kernel space (ko cần xử lý ở kernel space)

Hoặc trong bài viết của mrro http://vnhacker.blogspot.com/2007/07/khng-phi-c-hng-khng-l-tt.html thì him nói là " :

trong đó iowait (iowait = network i/o + memory i/o + disk i/o) chỉ dao động từ 3-4%, user (các thao tác thuộc user space, Oracle process nằm ở đây) 


Vậy cho mình hỏi 1 process như thế nào thì mới cần đến kernel mode xử lý ?

Và khi mình chạy 1 chương trình (ko phải do mình viết & chương trình cũng ko open source) thì làm sao xác định nó chạy ở những mức nào (cả user & kernel luôn hay chỉ user mode như app oracle của mrro trong vd trên) ?

Cuối cùng là, như vd ở trên thì có những process chỉ chạy ở usermode mà ko chạy ở kernel mode. Vậy có process nào ngược lại, tức là chỉ chạy ở kernel mode mà ko chạy ở usermode ko ?

Mong các bạn giải thích kỹ giùm, nếu có tài liệu thì cho mình xin luôn
Thanx

conmale wrote:
IDS / IPS không thể detect được sniff vì nó là một hành động ở dạng thụ động (passive). Cách duy nhất là kiểm tra NIC nào đang dùng để sniff xem nó có ở tình trạng promiscuous hay không. Tuy nhiên, rất khó detect tình trạng này. Hơn nữa, sniffer ngày nay có thể sniff nhưng không cần thiết phải chuyển sang promiscuous mới sniff được.

Cách tránh sniff tốt nhất là dùng VLAN trunking và dùng SSL những nơi cần bảo vệ thông tin nhạy cảm.

Thân mến.  


Anh conmale có thể cho em xin 1 vài link tài liệu về việc sniff mà ko cần chuyển NIC sang chế độ promiscuous được ko ạ ?

Thanx

rcrackvn wrote:
chào bạn,
1. nói tiếp về số 1 ở trên. Tui vẫn cho câu phát biểu của mình không sai. Có thể rephrase lại nó như thế này: "1 layer không biết những thứ được xác định ở layer khác và function ở layer khác". Như tui đã nói ở trên, việc IP header có 1 field là Protocol chỉ giúp cho nó biết chính xác cái PROTOCOL HANDLER để tiếp tục forward những gì còn lại, sau khi nó đã làm xong nhiệm vụ là decapsulate cái ip header. Đó là ý của tui, còn tui nghĩ nếu bạn interpret ý của tui như bài vừa post thì bạn cần đọc lại bài trên của tui.
Mà nói thiệt, không cần refer tui tới 1 tool như hping, nếu muốn tui có khả năng viết 1 tool để craft 1 raw packet như hping. Còn việc protocol ID nào được kernel process, cũng nói với bạn luôn, khỏi test mất công: hầu hết kernel chỉ auto process normal packet có Protocol field value là 1 (ICMP), 2 (IGMP), 6 (TCP), và 17 (UDP) và drop mọi packet khác, trừ phi bạn obtain thẳng raw data từ datalink layer rồi tự process nó, xây dựng custom procol handler để process mấy cái datagram có Protocol field value khác. Đây là điều mà mấy route processor trong mỗi router làm để process routing packets.

Tui quote lại câu mà bạn cho là bạn hiểu đúng ý tui:

như tôi đã nói tôi khẳng định 100% như đã nói ở trên là nếu TCP/IP ko dựa vào trường Protocol, ehternet type hay port thì nó ko tài nào xử lý được gói tin nữa 


Tui không hề tuyên bố như thế trong bất cứ post nào của tui trong thread này, bạn có thể dẫn chứng ra nếu tìm thấy. Tui nói là 1 layer chỉ làm đúng chức năng của nó, không cần biết chức năng của layer khác là như thế nào. Network layer sử dụng Protocol field để tiếp tục forward cái decapsulated payload sang cho đúng cái protocol handler, không có nghĩa là nó CÓ KHẢ NĂNG hiểu và làm được những gì cái protocol handler đó sẽ làm.
Bạn có lẽ nhầm lẫn ở chỗ này, việc bạn biết được số điện thoại của nhà mình không làm cho bạn biết được phương thức đánh số của nhà cung cấp (xin lỗi, poor example).

2.
"Bạn bảo TCP/IP Stack chẳng xử lý gì cả vì chẳng biết gì để xử lý ? Nope, HTTP Protocol là gì ? Nó là giao thức nằm trong bộ TCP/IP ở tầng App, nó chính cái cái biêt cách xử lý như thế nào với 1 gói tin có Dst port là 80" 


Câu này thì tui để mọi người đánh giá. Bạn đi từ sai lầm này đến sai lầm khác. HTTP có thể sử dụng TCP như là underlying transport protocol, nhưng chẳng có ai cấm việc bạn thay thế TCP/IP bằng IPX/SPX để carry HTTP traffic, HTTP KHÔNG THỂ nhìn thấy cái gì thực sự carry traffic của nó ở lớp dưới. Need proofs ? google thử xem có tồn tại IPX web server không thì biết.
Một điều nữa là việc "xử lý gói tin có DST port 80" không thuộc thẩm quyền của HTTP. HTTP quy ước là quy ước các quy tắc xử lý "nội dung" của gói tin, không phải xử lý TCP info liên quan tới cái gói tin đó. Nói thẳng ra: HTTP biết gì về SYN, ACK, FIN flag, port của gói tin ? Nó có cơ hội nhìn thấy đâu mà xử lý ? Xử lý ở đây là xử lý data nhận được từ kernel IO subsystem hoàn thành tác vụ của nó và notify kernel để copy data từ kernel-space lên user-space.

Bạn đọc hết cái HTTP rfc xem nó có chữ nào là chữ port không ?
http://www.w3.org/Protocols/rfc2616/rfc2616.html

Không tin nữa thì bạn kiếm quách 1 web server code mà nhìn cái core function của nó xem chỗ nào nó hiểu và xử lý Transport layer info. Thứ duy nhất có số 80 chắc chỉ là lúc nó declare server socket. Còn việc thực sự xử lý các network IO liên quan tới socket này không còn thuộc chức năng của web server nữa.

4. Tui cũng đã xác nhận là tui misread bạn vì bạn refer tới TCP/IP MODEL, tui lại hiểu là bạn refer tới TCP/IP layer thuộc về OSI MODEL. Hy vọng bạn cũng do some favor và đọc lại ý của tui. Việc bạn refer tui tới những tài liệu, website "nổi tiếng" thì tui cám ơn bạn, mặc dù thực sự không helpful lắm với tui vì tui đã đọc 3 cái đó từ đời tám hoánh nào rồi.

Liên quan tới Cisco, do bạn đề cập nó trước, và make 1 assumption là tui đã từng học CCNA smilie nên lậm OSI. Sorry bạn, nhưng cá nhân tui, dù dốt, nhưng cũng đã có cơ hội thảo luận với không ít người tài giỏi khác, nhưng tui không quan tâm tới cái background của họ, tui cũng không bao giờ hỏi, hoặc giả định rằng kiến thức của họ từ cái nguồn nào ra. Việc bạn đã tiếp xúc với bao nhiêu người có CCIE tui cũng chẳng quan tâm, tui quan tâm duy nhất tới cái khía cạnh bạn đưa ra ở topic này, còn bạn học ở đâu để đưa ra thì tui mackeno. Mà nói thiệt với bạn nhé, tui chẳng cần phải nhờ tới 1 "chuyên gia" Cisco để thảo luận với bạn, nếu bạn cứ tiếp tục diễn đạt mức hiểu của bạn về networking như vậy.

Về thái độ thảo luận, hy vọng bạn có thể làm được điều này
- Nếu cho rằng tui đã nói cái gì, vui lòng quote chính xác lại, và diễn dịch lời nói của tui theo cách hiểu của bạn. Điều này giúp tui biết được tui và bạn không đồng ý ở điểm nào trong lời nói của tui, tui sẽ sửa nếu quan điểm của bạn đúng.
- Không nên cho rằng người nào tham gia thảo luận đều là "thắc mắc chỗ nào chứ nói".
- Không nên assume bất cứ điều gì về technical background của người ta.
- Không nên bảo người ta phải nhờ tới "chuyên gia" để tiếp tục thảo luận với mình, bạn hơi tự cao đấy.

Cuối cùng là tui refer bạn đọc về OS concept, về kernel subsystems, để xem bao nhiêu thứ được dùng trong khi implement OSI 7 layers, để biết tới lớp nào thì kernel perform context switch từ userspace sang kernelspace khi handle data to/from network. Bạn học OSI mà không hiểu lớp nào đang được phần nào của kernel handle thì cũng như học vẹt, chả tác dụng gì đâu.

Tui bắt đầu cảm thấy đủ với việc tiếp tục thảo luận trong topic này. 


Thứ nhất như bạn nói "hầu hết kernel chỉ auto process normal packet có Protocol field value là 1 (ICMP), 2 (IGMP), 6 (TCP), và 17 (UDP) và drop mọi packet khác". Cái này tôi ko ý kiến vì nó tùy vào kernel.

Thứ 2 về việc HTTP Protocol , tôi chẳng hề nói HTTP chỉ hoạt động với TCP mà ko với IPX hay các giao thức khác được, đó là do bạn tự nghĩ & "lái" câu chuyển sang hướng khác thôi. Sỡ dĩ tôi đưa ra những trường Protocol ID, port, Ethertype là cho bạn cũng ngư mọi người biết ít nhất là cũng tồn tại 1 sự liên kết giữa các tầng protocol từ dưới lên chứ ko như bạn nói là "layer này hoàn toàn không biết và không cần thiết phải biết tới những gì định nghĩa ở layer khác", nó chỉ hoàn toàn ko cần biết gì khi 1 packet được ứng dụng sinh và và encapsulation đi xuống data link thôi, do đó việc trong RFC search ko ra từ port là hợp lý thôi

Việc tôi đưa ra tài liệu và 1 số link là để minh họa những gì tôi nói là có thể chứ ko phải chỉ là "nói", còn đối với bạn hữu ích hay ko thì tôi cũng ko cần quan tâm

Đối với tôi bằng cấp chả là gì vì bản thân tôi tự học networking, khóa CCNA chỉ giúp tôi biết những câu lệnh Cisco trong quá trình làm việc thôi, việc tôi nói về CCIE ko phải là để kêu bạn "nhờ tới 1 "chuyên gia Cisco" để thảo luận với " mà do bạn nói "kẻo dân học cisco chính gốc lại vào gây chuyện đấy. " nên tôi chỉ khẳng định bạn có kêu "dân cisco chính gốc" vào thì cũng chả sao cả, vì cho dù là CCIE hay gì gì nữa thì cũng đi từ những protocol căn bản IP, TCP, UDP lên mà thôi. Bạn phát biểu, giờ bạn lại kêu tôi là người tự cao, pó tay :lolsmilie

Bạn có khả năng viết 1 ứng dụng craft gói tin hay biết toàn bộ về kernel hay ko tôi cũng ko cần quan tâm, cái tôi biết là những điều tôi nói ko phải là bịa ra và ít nhất tôi handle được nó. Có nhiều cái ko phải cá gì cũng biết sâu là được, trên bạn tôi biết khối người tham gia development kernel .. nhưng ko có nghĩa là họ handle được toàn bộ kiến thức của họ

Mà tôi nghĩ topnic này đã đi quá xa rồi, nếu bạn còn gì bức xúc thì cứ liên hệ tôi qua chat hay email để tiếp tục bàn luận, tránh biến topic này trở thành nơi cãi nhau

Thân

rcrackvn wrote:
2. Bạn nhầm lẫn: 1 protocol có thể trải dài nhiều layer, nhưng 1 layer không thể hiểu những quy định của layer khác. ARP/RARP có thể có những specification nằm ở 2 layer, nhưng nếu nói vậy rồi cho rằng datalink layer hiểu về những thứ defined ở network layer là trật lất. Nói thẳng ra luôn, trong 1 OS, phần IP trong TCP/IP kernel stack làm gì ? một là logical addressing, 2 là packet routing. Trong những thứ đó, datalink hiểu gì ? Chẳng hiểu gì hết.

- Ví dụ của bạn về sự tồn tại của field 'Protocol' trong IP header không chứng minh được là Network layer HIỂU về những thứ xác định ở Transport layer, nó ở đó chỉ với mục đích là để TCP/IP stack biết đường mà forward cái datagram đó lên đúng cái protocol handler tương ứng. Việc interpret và process data không thuộc về chức năng của nó nữa, nên tui nói nó không hiểu về các định nghĩa của lớp trên là không sai.

- Riêng về ví dụ port của bạn, cũng nói luôn với bạn rằng trong chức năng của TCP/IP stack, TCP không biết/không cần biết những app nào sẽ handle cái data này, những gì nó làm khi nhân được data là tách header ra, notify kernel là data available for reading trong cái socket receive buffer của cái socket descriptor nào đang associate với port đó, ngay bản thân việc read cái data từ cái socket buffer cũng chẳng còn thuộc về phần chức năng của TCP nữa, mà thuộc về IO và virtual file subsystem, chứ đừng nói tới việc TCP biết app nào đã request để open cái descriptor đó, và expect data kiểu gì. Bạn đừng gom luôn chức năng nhiều kernel subsytems lại với nhau và cho rằng đó là chức năng riêng của TCP chứ. Bạn sai khi cho rằng TCP/IP stack xử lý cái header "tiếp theo" sau TCP header. Nó chẳng xử lý gì cả vì chẳng biết gì để xử lý.

3. Tui đồng ý ở điểm này, sở dĩ có sự tranh luận ở bài trên vì tui nghĩ bạn đang refer tới 2 layer thuộc OSI model. my bad ! btw, có lẽ bạn không cần phải mở mang cho tui về các mailling list, tui frequent những maillist như vậy từ lâu lắm rồi.

4. Những giao thức vừa kể không phải là hỗ trợ thêm, mà chúng predate OSI, chúng không còn được sử dụng nhiều vì thiếu những đặc điểm của OSI, đặc điểm quan trọng nhất có lẽ là không phân biệt rõ ràng giới hạn chức năng của 1 layer, dẫn đến khó khăn cho 3rd-party vendor khi develop 1 product để interoperate với 1 product trước đó. Nếu bạn vẫn cho rằng OSI không make clear separation giữa các layer, chứng tỏ bạn vẫn chưa nắm được nguyên nhân ra đời của OSI. Bạn nghiên cứu về networking bao lâu để nói như vậy ?

1. Còn riêng về việc bạn muốn biết tui học networking ở đâu thì xin trả lời sơ sơ, tui self-trained, chả có cisco ciskiet nào cả, và cũng self-employed luôn. Cũng nhân tiện xin bạn rút lại những lời cho rằng dân học cisco thì lặm OSI, bởi vì theo tui biết, cisco là biggest vendor về networking hardwares, và nó nếu cisco không hỗ trợ nhiều networking model thì chắc cũng chẳng ai hỗ trợ nhiều cả. Đừng nên claim cái gì mà mình không biết, kẻo dân học cisco chính gốc lại vào gây chuyện đấy. 


Hi
Thứ 1, việc 1 layer không thể hiểu những quy định của layer khác, tôi ko cãi điều này nhưng bạn bảo "layer này hoàn toàn không biết và không cần thiết phải biết tới những gì định nghĩa ở layer khác". tức bạn khẳng định cho dù ko có gì ở lớp dưới thì lớp trên vẫn có thể xử lý, việc này hoàn toàn sai, như tôi đã nói tôi khẳng định 100% như đã nói ở trên là nếu TCP/IP ko dựa vào trường Protocol, ehternet type hay port thì nó ko tài nào xử lý được gói tin nữa. Ko tin chứ gì ? Bạn hãy sử dụng hping để tạo ra 1 gói tcp nhưng với trường protocol ID là khác 7 thì bạn sẽ biết gói tin bạn có được xử lý hay ko biết lý, điều này tôi đã thử trên thực tế rất rất nhiều lần bằng cách custom từng trường một trong các header rồi. Ở đây đang xét đến việc TCP/IP Stack xử lý 1 packet như thế nào nên 1 packet sẽ được xử lý từ dưới lên (Data link -> Network -> Transport), còn quá trình ngược lại là quá trình encapsulation ko kể ở đây, do đó chuyện tầng data link ko cần biết 1 chút gì về IP là đúng rồi, nhưng nên nhớ Khi xử lý 1 gói tin, TCP/IP Stack sẽ xử lý từ Ethernet header rồi mới đến ARP header/IP Header rồi mới đến TCP/UDP header... chứ chẳng có thiết bị nào xử lý IP header (nằm ở network) đến ARP header (nằm ở Data link), do đó ví dụ bạn đưa ra (Data link ko cần hiểu IP) tuy đúng nhưng vô nghĩa

Bạn bảo TCP/IP Stack chẳng xử lý gì cả vì chẳng biết gì để xử lý ? Nope, HTTP Protocol là gì ? Nó là giao thức nằm trong bộ TCP/IP ở tầng App, nó chính cái cái biêt cách xử lý như thế nào với 1 gói tin có Dst port là 80

Điều thứ 4, về chuyện mô hình OSI và TCP/IP thì đã có quá nhiều người tranh cãi, tôi với bạn tranh cãi lại cũng chẳng được gì, thiết nghĩ bạn nên search người tài liệu nổi tiếng trên mạng, hoặc lên http://www.sans.org, đọc sách Networking kinh điễn của Rchard Stven hay cuốn Phân tích mạng nổi tiếng khắp giới security của Stenven Nortcutt để xem khi họ dạy phân tích network, security ... hay bất cứ thứ gì, họ đề cập OSI hay TCP/IP là biết liền

Điều bạn nói tôi đã dự đoán trước, đã tranh luận thì dĩ nhiên là biết những gì mình đang nói, tôi bản thân là 1 người học network , sau đó cũng đã học Cisco để phục vụ thêm cho công việc nên tôi hiểu rõ nhiều người rất thích đem mô hình OSI ra, tôi ko nói tất cả chuyên gia cisco là "lặm OSI", đó là tại bạn suy diên ra thôi, cái tôi muốn nói là những người mới họ networking theo giáo trình Cisco thì hay "lặm OSI", lúc nào cũng đem OSI ra phân tích, tôi đã tiếp xúc với những người có bằng CCIE, và tôi biết họ được trang bị kiến thức networking thế nào, nếu bạn ko vừa lòng hay biết 1 chuyên gia cisco nào đó bức xúc thì cứ mời lên đây đàm đạo tiếp :lolsmilie

rcrackvn wrote:
1. Tui không rõ bạn nghĩ chữ ngôn ngữ như thế nào nên mới hỏi lại. Tui không make any statement rằng bạn không hiểu chữ ngôn ngữ. Protocol thiếu nhiều đặc tính của 1 ngôn ngữ nếu nói về khía cạnh linguistic, chính xác hơn nó được định nghĩa là tập hợp những "quy ước" về giao tiếp.

2. Ở khái niệm "đường dây mạng" KHÔNG tồn tại khái niệm packet. OSI make clear separation giữa các layer mới nhau, layer này hoàn toàn không biết và không cần thiết phải biết tới những gì định nghĩa ở layer khác. Khái niệm "đường dây mạng" của bạn nằm ở tầng mấy của OSI ? Khái niệm packet nằm ở tầng mấy của OSI ? Nên nói "packet đi trên đường dây mạng là tín hiệu điện" liệu có chính xác ? Nếu bạn đã không phân biệt rõ ở chỗ này, dĩ nhiên bạn sẽ không phân biệt rõ giữa cái gì khái niệm 1 packet và khái niệm 1 "view" của nó, bởi vì 2 khái niệm này nằm ở 2 tầng khác biệt nhau của OSI.

Do vậy, ý tui muốn phản bác với bạn nằm ở câu này trong bài post trên của bạn: "Bộ có packet nào ko phải là mã hexa à". Bởi vì ở đây, bạn cho rằng 1 packet (khái niệm ở Network layer) và cái nội dung in vào mắt mình (Application layer) làm một. Và do đó tui make 1 statement là "Hoàn toàn có thể code 1 sniffer để hiển thị NỘI DUNG của packet dưới dạng khác hex".

Và ý cuối cùng của bạn cũng có cái đáng để nói:
- Có vẻ bạn cho rằng TCP/IP là bộ network protocol duy nhất. Điều này bạn xem lại nhé, tui đưa thêm vài thứ cho bạn tham khảo: APPLETALK, DECNET, thậm chí là NETBEUI, tất cả đều là network protocol suite.
- OSI chứa TCP/IP, TCP/IP là 1 phần của OSI, nói cái này là "hoạt động thực sự", cái kia là "chuẩn" để tham khảo là sai, cả 2 đều là chuẩn.

edited: tui vừa post xong thì hình như bạn edit lại post của mình, nên tui quote tiếp phần này

vietwow wrote:
Còn hexa ở trên là do các chương tình sniffer & analyer Ethereal hiển thị. Như vậy thì việc hiển thị hexa hay decinmal hay ASCII là do chương trình sniff sử dụng quy định chứ ko phải là do "packet content" như bạn nói
 

- Phần tô đậm là bạn lặp lại ý của mình ở trên, vui lòng xem lại
- Vui lòng xem lại luôn là tui nói ở đâu trong bài post trước là "packet content là hex" ? Người nói ý đó là bạn, khi cho rằng "Bộ có packet nào ko phải là mã hexa à " và tui phản bác lại chính ý đó. 


Đọc bài của bạn thì tôi đã đoán là trước kia bạn đã học CCNA hoặc giáo trình mạng cisco nên quá lặm mô hình OSI

Thứ 1 protocol nói là 1 tập hợp những qui định cũng đúng mà gọi là "ngôn ngữ" (nghĩa bóng) cũng chẳng sai. Giống như ngôn ngữ, tiếng anh của chữ "Xin chào" là hello, đây cũng chẳng qua là 1 qui định thôi

Thứ 2 bạn nói "layer này hoàn toàn không biết và không cần thiết phải biết tới những gì định nghĩa ở layer khác" là hoàn toàn sai, cái layer vẫn có 1 số cái phụ thuộc nhau. Cụ thể là dưa vào trường Ethernet type trong Ethernet header thì TCP/IP Stack mới biết header tiếp theo nó phải xử lý là gì (IP hay ARP/RARP ...), tương tự dựa vào trường Protocol trong IP header thì TCP/IP Stack mới biết header tiếp theo nó phải xử lý là gì (là ICMP hay UDP hay TCP), và cuối cùng dựa vào trường port trong TCP/UDP header thì TCP/IP Stack mới biết header tiếp theo nó phải xử lý là gì (là DNS hay HTTP ...). Tất cả chúng đều có 1 mắc xích liên quan đến nhau

thứ 3 khái niệm TCP/IP nằm trong OSI là hoàn toàn sai, 2 cái là 2 mô hình hoàn toàn riêng biệt, nó chỉ giống nhau ở 1 số điểm thôi, cái này đã có rất nhiều người lầm lẫn. Cả 2 đều là chuẩn nhưng OSI là chuẩn được tham khảo khi thiết kế thiết bị, mô hình mạng, còn TCP/IP mới là chuẩn được tham khảo để viết 1 chương trình, để mô tả network hoạt động như thế nào. Cái này nói miệng trên forum thì tôi ko có gì để cho bạn thấy rõ nhưng nếu bạn tham gia các maillist về networking của nước ngoài thì sẽ biết, nếu ko tin bạn có thể hỏi các "cao thủ" khác mà bạn quen và tin tưởng

Thứ 3 , các "đường dây mạng" mà tôi nói nó ko nằm trong OSI hay TCP/IP nào cả, mà chỉ đơn giản là 1 phần tronng đoạn tôi mô tả packet đi thế nào qua mạng

Thứ 4 đúng là ngoài TCP/IP còn rất nhiều giao thức khác nhưng nên nhớ 80% (thậm chỉ là 90%) network trên TG đều xài TCP/IP, các giao thức kia chỉ là hỗ trợ thêm. TCP/IP giống như English, mỗi nước trên TG đa số đều có ngôn ngữ riêng nhưng 90% trong số họ ai cũng biết English để giao tiếp với nhau. Vì thế khi bàn luận hầu như ai cũng đều nói về TCP/IP.

K4i wrote:

to vietwow: đúng là tớ chả biết gì về TCP/IP cả, mong bạn chỉ dạy smilie).  


Ặc. gì mà chỉ dạy ở đây, chúng ta đều là dân lên NET học hỏi, có gì khôg biết thì bàn luận cho rõ thôi, tôi chỉ là hơi bức xúc với giọng điệu của rcrackvn smilie)

rcrackvn wrote:

bạn tìm hiểu tcp/ip kỹ chưa mà khuyên người ta ?
1. Theo ngữ cảnh của bạn, "ngôn ngữ" là gì ?
2. packet chẳng mắc mớ gì tới hex hay cái gì gì hết. packet PAYLOAD được hiển thị ở dạng hex thì khả dĩ (bởi vì packet không chỉ gồm nội dung, vậy những thứ liên quan tới header có được ethreal hiển thị dạng hex không ?, rõ ràng là không!). Khái niệm packet được define ở OSI Network layer, hex/bin/dec là cách application interpret cái view của mình tùy theo packet content. Ethereal display packet payload ở dạng hex, không có nghĩa là không có ai có quyền code cái packet sniffer hiển thị thông tin sniff được ở dạng bin, octal hay cái gì khác.
 


Vâng, dĩ nhiên ít nhất tôi đã tìm hiểu rồi rồi mới nói, bạn có thể đưa ra bất kỳ thắc mắc nào về TCP/IP tôi đều có thể bàn luận với bạn

Thứ nhất, Protocol là gì ? dịch ra TV là giao thức mạng, vậy giao thức mạng là gì ? Chẳng qua là 1 loại ngôn ngữ thôi. Người vn nói chuyện với nhau bằng tiếng Việt, người mỹ nói chuyện với nhau bằng English, còn các thiết bị mạng thì sao ? Chúng cũng cần 1 cách thức để giao tiếp với nhau, đó là protocol, vì thế tôi gọi đó là "ngôn ngữ" (trong ngoặc kép) thì thiết ngĩ ko có gì là sai cả

Toàn bộ packet đi trên đường dây mạng là tính hiệu điện, khi đến NIC nó được chuyển sang binary là số nhị phân (chuỗi số 0 & 1). Vì thế nói 1 cách chính xác toàn bộ nội dung của tất cả packet khi sniff được là binary (cái này ko tìn thì xài tcpdump ắt sẽ thấy liền). Còn hexa ở trên là do các chương tình sniffer & analyer Ethereal hiển thị. Như vậy thì việc hiển thị hexa hay decinmal hay ASCII là do chương trình sniff sử dụng quy định chứ ko phải là do "packet content" như bạn nói

Trên bài viết trên của tôi chả có ý ý nào nói packet "mắc mới" tới hexa cả, mà đa số packet được thị bằng hexa qua sniffer thôi. Trong bài viết của bạn K4i nói là "mã hexa lù lù thế kia, ngôn ngữ nào ở đây", việc mã hexa chẳng liên quan gì đến protocol, cho dù là protocol của 1 ai đó việc ra thì cũng được đóng gói thành binary truyền quan mạng và hiển thị ở dạng hexa thôi


Cái cuối cùng bạn nên chú ý là khi thảo luận về nguyên lý hoạt động người chỉ nói về mô hình TCP/IP, cái đó mới là cái network hoạt động thực sự, còn OSI chỉ là mô hình "chuẩn" đưa ra khi thiết kế mạng thôi

K4i wrote:

Theo tôi packet trên ko phải được mã hoá mà chẳng qua đây là "ngôn ngữ" của protocol YM nói chuyện với nhau thôi, để hiểu được ngữ nghĩa của chúng thì bạn phải đọc thật kỹ RFC của các giao thức YM  


==> mã hexa lù lù thế kia, ngôn ngữ nào ở đây

 


Bạn ko thấy 2 dấu trong ngoặc hay là giả vờ ko thấy vậy ? Ngôn ngữ ở đây chính là protocol (đừng nói với tôi protocol ko phải ngôn ngữ nhá :lolsmilie ). Mã hex lù lù thì sao ? Bộ có packet nào ko phải là mã hexa à ? Cho dù là SSL hay VPN hay SSH mã hoá hay có qua cả chục protocol khác thì sniff lên đều ra mã hexa thôi, nếu bạn tìm được cái packet nào sniff lên mà ko phải là mã hexa thì xin up lên đây, tôi xin bái bạn làm sư phụ

Lần sau tìm hiểu kỹ TCP/IP rồi hãy nói nhé

K4i wrote:


==> bạn vietwow đọc kĩ lại câu hỏi rồi hãy trả lời nhé. Hình nhứ nó đi quá xa với chủ đề ban đầu.

to: phanminh bác nohat nói đúng đó. Tuy nhiên bổ sung thêm cho bác nohat smilie gì thì gì, cũng nên cài gói gcc vào cho nó yên tâm (kể cả server/desktop/development), update phần mềm cho nó tiện smilie 


bạn nên đọc kỹ câu "muốn sử dụng thành thạo linux" của bạn phamnminh đi nhé, nếu chỉ biết linux chưa package thì thì chỉ làm nhẹ linux thôi chứ ko thể nào thành thạo được

Thân

hackernohat wrote:
Không có khái niệm gói chuẩn trong linux, chỉ có khái niệm gói thường dùng mà thôi.
Có lẽ cái mà bạn hỏi là các gói nào thường dùng trong distro của bạn. Cái này thì còn tùy distro ( phiên bản phát hành ) và bạn dùng *nix cho mục đích gì. Vì các gói của linux là so much nên bạn chỉ nên tìm hiểu trong phạm vi yêu cầu của mình như là bạn dùng *nix làm Desktop thì có các gói:
GUI ( KDE hay Gnome )
OpenOffice ( bộ ứng dụng office )
Wine ( bộ giả lập để chạy các ứng dụng của windows )
.v.v.

làm server có:
GCC ( bộ trình biên dịch vì các gói cho server thường ở dạng mã nguồn )
Apache
Mysql
PHP
iptables ( firewall )
snort ( IDS - hê thống phát hiện thâm nhập )
.v.v.

Mọi thứ còn tùy vào bạn, *nix rất rất khác windows.
 


Có đấy bạn, lúc trước tôi mới mò Linux cũng nghĩ như vậy nhưng nếu bạn đã đọc qua ebook "Linux from Scratch" thì bạn sẽ biết, nó chính là kỹ thuật giúp bạn build (đúng nghĩa) 1 Linux từ source (bao gồm core system là chủ yếu) chứ không phải là xài những distro đã được build sẵn như debian/ubuntu, redhat/fedora .... Linux from Scratch là project được đưa ko phải là để mọi người build 1 linux custom theo kiểu add thêm những application sở thích riêng mà là để mọi người build 1 custon linux từ source, để từ đó người build có thể học được 1 Linux System bên trong vận hành những gì và ra sao. Ở đây là ta build những core system, tức là những thành phần thiết yếu của hệ thống như Glibc ... chứ ko phải là những gói apache /php/mysql, snort ... mà bạn nói

Mình nghĩ kỹ thuật mà bạn phamnminh tìm chính là cái này, bạn có thể tham khảo từ http://www.linuxfromscratch.org/ . Tuy nhiên mình cũng nhắc nhở đây là 1 kỹ thuật ko đơn giản, nó dành cho những người dùng Linux đã có kinh nghiệm vài năm, nếu bạn chỉ mới sử dụng Linux thì cứ hãy tìm hiểu thật kỹ những debian/ubuntu, redhat/fedora, slackware ... đi trước đã

Thân smilie)

Nokia1100 wrote:
Vâng, em nhầm, em cứ nghĩ là cứ port 80 thì đc xử lí bởi HTTP server trên server. Hìhì, server có thể quy định cổng 80 là do process nào xử lý cũng đc nhỉ.
Cái gói TCP này source port là 2506 và Destination Port là 80. Có phải phần data kia đã được Y!M client mã hóa ko ạ, và có thể dùng công cụ nào để giải mã nó ra dạng text bình thường ạ 


Theo tôi packet trên ko phải được mã hoá mà chẳng qua đây là "ngôn ngữ" của protocol YM nói chuyện với nhau thôi, để hiểu được ngữ nghĩa của chúng thì bạn phải đọc thật kỹ RFC của các giao thức YM :wink:

JerryCTM46 wrote:
mong các bác xóa mù cho em về linux cái,em cài bản Mandrake linux 9.2 nói chung là ngon lành nghe nhạc từ cd được. cắm HDD khác vào cũng chẳng thấy đâu, vào mạng thì không được, hai nữa là không thể tìm thấy ổ cd-rom đâu, cắm usb vào thì chẳng thấy gì cả, bó tay không biết làm gì, mong các bác chỉ giúp em, 


Mình chưa xài Mandrake nhưng đã xài wa 1 số distro phổ biến linux, khi bạn gắn 1 HDD mới vào thì bạn phải mount nó ra với đúng loại File System (như FAT32, NTFS, ext2/ext3, reiser ...) thì nó mới xuất hiện (gõ lệnh man mount để biết thông tin các option của mount mà mount đúng loại File System của ổ cứng của bạn).

Còn ko vào mạng được thì đầu tiên nhất là ... check đằng sau Case xem cái NIC (card mạng) đã sáng chưa smilie (vì nhiều khi do vấn đề vật lý) sau đó bạn dùng 1 số lệnh network căn bản để trouble shooting như ifconfig -a để xem NIC đã được enable & gán đúng IP chưa ? Chú ý là nếu máy có 2 NIC thì phải check kỹ xem có gán đúng IP cho NIC đang xài (đang cắm dây mạng) chưa ? nếu ok thì tiếp tục thử ping interface loopback (ping 127.0.0.1) xem TCP/IP Stack hoạt động chưa ? rồi lệnh netstat -rn để xem set đúng gateway chưa ? Nếu mọi thứ đều đúng thì thử ping gateway xem được ko ? Nếu ping GW nó báo lỗi Request time out có nghĩa bạn set GW chưa chính xác hoặc GW đang down (tức là kết nối từ PC đến GW có vấn đề), còn nếu ping GW được thì ping ra NET (vd ping google.com), nếu ping GW được mà ping ra NET báo lỗi Network Unreachable có nghĩa là kết nối từ GW (modem) ra NET có vấn đề (nói nôm na là do NET die chứ ko phải do PC cấu hình sai)
Mình đang cần tim cuốn ebook Hardening the Infrastructure (HIT)Instructor Guide. Ai có thì share với

Thanks
Sao lại ko được nhỉ ? Mình vừa đọc thấy anh conmale hướng dẫn ở topic "remove linux" http://hvaonline.net/hvaonline/posts/list/8503.html#49503) mà. Bạn dùng 1 đĩa Boot để boot vào DOS, sau đó gõ lệnh format /mbr để nó định dạng lại Master Boot Record (cái mà Grub "chiếm giữ") thôi.

Chút góp ý nếu có sai gì thì mọi người cứ lên tiếng smilie)
ko ai có ý kiến gì hết hả smilie
Hôm bữa rãnh mình list mấy package trong máy mình ra để "thanh lý" những gói nào ko xài tới ^_^ thì thấy có 1 gói tên là dbus-glib-0.22-12.EL.7.

Search google 1 hồi thì biết nó là "GLib-based library for using D-BUS".

Search tiếp xem D-BUS là gì thì là "D-Bus is a message bus system, a simple way for applications to talk to one another".

Nhưng mình thắc mắc, mặc dù ko hiểu chính xác về D-BUS là gì nhưng mình cũng biết nó là 1 dạng low-level system application, do đó nó ko cần dùng GUI (GTK/GDK), mà theo mình biết thì Glib được viết ra chủ yếu để support cho GTK/GDK. Vậy sự liên hệ của nó là gì nhỉ ? :?smilie
Về mặt ổn định thì CentOS hơn FC 1 chút nhưng về mặt hỗ trợ hardware thì FC ăn đứt CentOS, cái này mình đã test nhiều rồi :wink:

conmale wrote:
vietwow chạy apache phiên bản mấy vậy? Tớ thử trên apache 2.0.59 và 2.2.4 đều không bị sự cố này. 


Đây là version apache của em :

[root@server /]# apachectl -v
Server version: Apache/2.0.52
Server built: Jan 5 2006 12:31:31
to conmale : Đây là phần apache error có liên quan đếm file install.wim (winVista) mà em grep ra :

[Mon Feb 05 00:30:58 2007] [error] [client 58.186.100.8] (75)Value too large for defined data type: access to /install.wim failed
[Mon Feb 05 00:31:48 2007] [error] [client 58.186.100.8] (75)Value too large for defined data type: access to /install.wim failed
[Mon Feb 05 00:31:49 2007] [error] [client 58.186.100.8] (75)Value too large for defined data type: access to /install.wim failed
[Mon Feb 05 00:32:15 2007] [error] [client 58.186.100.8] (75)Value too large for defined data type: access to /install.wim failed
[Mon Feb 05 00:32:15 2007] [error] [client 58.186.100.8] (75)Value too large for defined data type: access to /install.wim failed
[Mon Feb 05 00:33:50 2007] [error] [client 58.186.100.8] (75)Value too large for defined data type: access to /install.wim failed
[Mon Feb 05 00:33:50 2007] [error] [client 58.186.100.8] (75)Value too large for defined data type: access to /install.wim failed
[Mon Feb 05 00:36:00 2007] [error] [client 210.245.31.17] (75)Value too large for defined data type: access to /install.wim failed
[Fri Feb 09 15:06:34 2007] [error] [client 58.186.40.111] (75)Value too large for defined data type: access to /install.wim failed
[Fri Feb 09 15:11:08 2007] [error] [client 58.186.40.111] (75)Value too large for defined data type: access to /install.wim failed
[Fri Feb 09 15:11:09 2007] [error] [client 58.186.40.111] (75)Value too large for defined data type: access to /install.wim failed
[Fri Feb 09 15:11:11 2007] [error] [client 58.186.40.111] (75)Value too large for defined data type: access to /install.wim failed

Golden Autumn wrote:
403 - Forbidden
You don't have permission to access /
Tức là nó cấm không cho vào smilie) muốn vào nó thì bro thử cách sau

Tìm dòng
DocumentRoot "/usr/local/apache2/htdocs"

Thay thế thành
DocumentRoot "/home/votui/public_html"

Thêm vào dòng sau
<Directory "/home/votui/public_html">
Order allow,deny
Allow from all
</Directory>

votui : tên tài khoản của tôi
/home/votui/public_html : đường dẫn này chứa ứng dụng web, bro có thể thay đổi sao cho phù hợp với ứng dụng web cho phù hợp với nhau

Nhớ reset apache khi điều chỉnh cấu hình tập tin cấu hình của Apache xong .
#/usr/local/apache2/bin/apachectl restart

Bro thay đổi dòng trên là nó OK thôi, ngoài ra bro xem lại phần .htaccess nhé
Nếu không có mod_limitipconn thì chỉ có hai phần trên thôi .
Thân 


Đã thử như bạn GA chỉ, vẫn ko được , mình cũng đoán trước kết quả là ko được bởi vì như mình đã nói trước là folder & tất cả file trong đó vẫn chạy tốt (download được), chỉ riêng file nặng 2.4 GB lạ bị forbidden thôi, mình cũng nghĩ ko phải tại file vì mình dùng ftp/ssh connect vào host rồi lấy về thì vẫn được, mình nghĩ là do apache thôi

Permission & owner file đó (như những file còn lại) là :
-rw-r--r-- 1 web web 2412507182 Jan 24 12:58 install.wim

Ngoài ra mình kiểm tra trong thư mục đó cũng ko thấy .htaccess
Đã view lại httpd/còn cũng ko có giá trị LimitRequestBody

Thật là kỳ lạ :?)
Mình vừa check lại file httpd.còn thì ko thấy phần mod_limitipconn.c và cả phần DocumentRoot luôn, còn đây là phần liên quan đến Diectory :

[root@server conf]# cat httpd.conf | grep Directory
<Directory />
</Directory>
<Directory "/var/www/html">
</Directory>
#<Directory /home/*/public_html>
#</Directory>
# DirectoryIndex: sets the file that Apache will serve if a directory
DirectoryIndex index.html index.html.var index.php
<Directory "/var/www/icons">
</Directory>
#<Directory "/var/www/cgi-bin">
#</Directory>
<Directory "/var/www/error">
</Directory>
<Directory "/usr/local/awstats/wwwroot">
</Directory>
Server mình chạy CentOS 4, Apache chạy rất tốt, hôm bữa mình dùng server download (wget) file WinVista về , file nặng khoảng 2.4 GB, down xuống server thì thì ok, chuyển vào đúng thư mục của Apache luôn, nhưng khi download thì nó báo lỗi Forbidden. Mình lên server check lại thì thấy chmod & chown tất cả đều đúng, apache vẫn hoạt động tốt (thử up vài file khác lên cùng folder đó & down thì ok hết). Vậy file chăng apache limit ko cho down 1 file quá lớn ? Nếu vậy để xem & edit giới hạn kích thước file của apache thì ta tìm giá trị nào trong file httpd.conf ?
Em có 1 thắc mắc hơi ngoài lề xíu, theo em biết khi submit 1 thông tin lên web server thì giao thức HTTP dùng phương pháp POST còn GET chỉ được dùng khi 1 user nào đó muốn "lấy" thông tin về browser của họ, trường hợp ở đây là user submit 1 URL :http://hvaonline.net/hvaonline/jforum.html?module=posts&action=delete&post_id=12345&start=0

Như vậy thì phải dùng POST mà sao forum hva lại dùng GET nhỉ ??

msdn wrote:

Hi hi khi tôi làm quen với Linux tôi bắt đầu với Fedora Core 4 sau đó vì tôi có 1 server chỵ Centos cho nên tôi bắt buột tôi cài đặt CentOS .

Tôi làm quen với CentOS gần 6 tháng nay và đang trả lời cho bạn củng sử dụng GNOME trên Centos 4.4 Final

GNOME 2.8.0
Distrubution : Centos
Build Date : 09/04/2005 


Nếu không tin bro download CentOS về và cài thử xem .
Trong quá trình boot hệ điều hành nếu bro nhấn Enter thì quá trình cài đặt sẽ là GUI
Còn nếu như bro gõ linux text thì bro sẽ cài đặt bằng text mode

Không tin thử xem smilie)  


Hèm, cty tớ đang làm có hơn 20 cái server chạy CentOS 4.4 nè, chẳng lẽ thử như vậy chưa đủ :lolsmilie

Tớ ko nói CentOS ko thể sử dụng GUI mà là default của CentOS là ko có GUI, nếu ai muốn xài thì phải tự cài thêm gói GNOME hay KDE .... tớ đã thử rất nhiều lần install CentOS mà ko có tuy chọn linux chọn, vẫn vào init 3 thôi bạn à. Mà như thế thì cũng hợp lý thôi vì CentOS là OS cho server chứ ko phải cho Desktop nên ko hỗ trợ GUI

msdn wrote:

k9t02 wrote:
ý. CentOS có GUI vậy làm sao dùng được GUI của nó, mình install login là dùng command không àh, củng khó khăn cho mình lắm, bác giúp chuyển qua GUI dùm nhe,thanks bác nhiều  


Khi bro cài đặt nó ở màn hình khởi động nếu nhấn Enter vậy là cài đặt GUI, nếu muốn cài đặt text mode thì gõ linux text

Dùng command không thì built gnome mặc định sau khi cài đặt CentOS thì gnome nó là version 2.8.0 (cái này chưa thử chuyển đổi từ text chuyển sang gui bao giờ) hoặc đơn giản cài đặt lại . smilie)  


Hehe, tôi chắc chắn là bạn msdn chưa cài CentOS bao giờ luôn mà bạn chỉ cài các OS phổ biến như fedora, redhat rồi suy luận theo lý thuyết ra. Bạn k9t02 nói đúng đấy, nếu bạn msdn chịu khó cài CentOS sẽ thấy cho dùng lúc cài bạn có enter thẳng hay gõ linux text thì sau khi íntall nó đều hoạt động ở init 3, tức là dạng command-line bởi vì CentOS là 1 Distro chuyên cho server nên người ta ko hỗ trợ GUI, muốn có thì phải tự cài thêm

conmale wrote:

OpenLDAP != AD 2003.

Cách config đơn giản đây: http://www.openldap.org/doc/admin23/quickstart.html 


Sẵn tiện anh conmale có thể nêu giúp em 1 vài ứng dụng/project trong thực tế cần sử dụng công nghệ LDAP này ko ? Trước giờ em cũng nghĩ chức năng nó giống như AD bên Win, thấy nó hay được ứng dụng trong các công ty nhưng ko hình dung rõ ý nghĩa/chức năng của nó
 
Go to Page:  Page 2 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|