วันอาทิตย์, พฤษภาคม 06, 2550

How to work S-M-A-R-T

เคยลองสังเกตตัวเองบ้างหรือเปล่าว่า คุณมีสไตล์หรือรูปแบบการทำงานเป็นแบบไหน มาทำงานเช้ากลับบ้านดึก หรือต้องทำงานเสาร์-อาทิตย์อยู่เป็นประจำ ในขณะที่เพื่อนร่วมงานของคุณบางคนมาทำงานและกลับบ้านตรงเวลา วันหยุดเสาร์-อาทิตย์ก็มีเวลาให้กับครอบครัวอย่างเพียงพอ คุณอาจจะเข้าใจว่าการทำงานหนัก หรือ Work Hard เป็นการทำงานที่น่ายกย่อง เพราะคุณได้อุทิศตนให้กับการทำงาน แต่ความเป็นจริงแล้ว การที่คุณต้องทำงานหนักอาจมีสาเหตุมาจากการทำงานที่ไม่มีประสิทธิภาพของตัวคุณเอง ไม่ว่าจะเป็นการบริหารเวลาที่ไม่ถูกต้อง, การทำงานอย่างไม่มีสมาธิหรือแม้กระทั่งการไม่ได้รับการยอมรับจากเพื่อนร่วมงาน ในความเป็นจริงแล้ว การทำงานให้ดีมีประสิทธิภาพนั้น ไม่จำเป็นที่คุณจะต้อง Work Hard เสมอไป การทำงานอย่าง S-M-A-R-T เป็นวิธีการที่น่าจะให้ผลดีทั้งกับตัวคุณเองและองค์กรของคุณได้ดีกว่า แล้วการทำงานอย่าง S-M-A-R-T คืออะไร? อยากรู้... เรามีคำตอบ


S-Smaile

วิธีง่ายๆ ในการทำงานให้ดีคือการยิ้มแย้มแจ่มใสอยู่เสมอ ยิ้มรับกับปัญหาและพร้อมที่จะแก้ไขปัญหาที่เกิดขึ้น ไม่ตีโพยตีพายจนขาดสติ ซึ่งจะส่งผลต่อไปยังสมาธิ รู้ว่าควรจะทำอะไรและไม่ควรทำอะไรในสถานการณ์ใด

M-Manage

คนที่ทำงานอย่างชาญฉลาด ต้องรู้จักการจัดการงานของตนเองรู้ว่า อะไรคืองานด่วนที่ต้องเร่งทำ รู้ว่า ควรจะใช้ทรัพยากรอย่างไรให้คุ้มค่าและเกิดประโยชน์มากที่สุด รู้จัก บริหารเวลาให้กับงาน ครอบครัว เพื่อนฝูง และตัวเอง

A-Analyze

การทำงานให้มีประสิทธิภาพ คุณจะต้องสามารถวิเคราะห์และแยกแยะผลที่จะเกิดขึ้นได้ รู้ว่าหากเลือกทำสิ่งนี้ จะได้ผลอย่างไร หรือถ้าไม่เลือกทำสิ่งนี้แล้วผลที่ตามมาจะเป็นอย่างไร เมื่อคุณสามารถวิเคราะห์ได้อย่างแม่นยำ จะส่งผลให้งานที่ส่งมอบไม่ผิดพลาด ไม่ต้องเสียเวลาแก้ไขปรับปรุงงานซ้ำแล้วซ้ำเล่า

R-Recognize

รู้จักและยอมรับความสามารถหรือศักยภาพของตนเอง โดยรู้ว่าเรามีทักษะ และความสามารถอย่างไร ในการบริหารหรือจัดการงานชิ้นใดชิ้นหนึ่งที่ได้มอบหมาย รวมถึงรู้จักความสามารถของบุคคลอื่นที่คุณสามารถขอความช่วยเหลือหรือมอบหมายงานให้ดูแลรับผิดชอบแทนคุณได้

T-Train

หากคุณรู้ถึงข้อบกพร่องของตัวเองแล้วต้องการแก้ไขข้อบกพร่องนั้นๆ การฝึกฝนจะช่วยพัฒนาความสามารถของคุณให้เพิ่มขึ้นได้ ทั้งนี้รวมถึงสมาชิกในทีมหรือลูกน้องของคุณโดยการสอนงาน การให้คำปรึกษาในการทำงานเพื่อฝึกฝนทักษะให้สามารถรับผิดชอบงานบางอย่างที่คุณต้องการได้การทำงานให้ประสบผลสำเร็จมิใช่เพียงแค่ทำงานหนักกว่าคนอื่น หรือการนำเอางานกลับไปทำที่บ้านในวันหยุด แต่คนทำงานที่เก่งจริงนั้นจะต้องรู้จักบริหารตนเองให้ทำงานอย่างชาญฉลาด (SMART) หลักปฏิบัติง่าย ๆ เพียงแค่ 5 ข้อนี้ นอกจากจะช่วยให้คุณทำงานได้อย่างมีประสิทธิภาพแล้วยังช่วยให้คุณมีเวลาสำหรับตัวเองและครอบครัวมากขึ้น

วิธีการตั้งค่า FTP Server ใน Windows Server 2003

ติดตั้ง Internet Information Services และบริการ FTP

เนื่องจาก FTP ขึ้นกับ Microsoft Internet Information Services (IIS) โดยที่ต้องติดตั้ง IIS และบริการ FTP ไว้ในคอมพิวเตอร์เสียก่อน เมื่อต้องการติดตั้ง IIS และบริการ FTP ให้ทำตามขั้นตอนต่อไปนี้ หมายเหตุ: ใน Windows Server 2003 บริการ FTP ไม่ได้รับการติดตั้งโดยค่าเริ่มต้นเมื่อคุณติดตั้ง IIS หากคุณติดตั้ง IIS ไว้ในคอมพิวเตอร์แล้ว คุณต้องใช้เครื่องมือ Add or Remove Programs ใน Control Panel เพื่อติดตั้งบริการ FTP
1.คลิก Start เลือกที่ Control Panel และคลิก Add or Remove Programs
2.คลิก Add/Remove Windows Components
3.ในรายการ Components คลิก Application Serverคลิก Internet Information Services (IIS) (แต่ไม่ต้องเลือกหรือยกเลิกการเลือกช่องทำเครื่องหมาย) แล้วคลิก Details
4.คลิกเพื่อเลือกช่องทำเครื่องหมายต่อไปนี้ (หากยังไม่ได้เลือก):
Common FilesFile Transfer Protocol (FTP) ServiceInternet Information Services Manager
5.คลิกเพื่อเลือกช่องทำเครื่องหมายถัดจากบริการอื่นๆ ที่เกี่ยวกับ IIS หรือคอมโพเนนต์ย่อยที่คุณต้องการติดตั้ง จากนั้นคลิก OK
6.คลิก Next
7.เมื่อได้รับการพรอมต์ ให้ใส่แผ่นซีดี Windows Server 2003 CD-ROM ลงในไดรฟ์ CD-ROM หรือ DVD-ROM หรือระบุพาธไปยังตำแหน่งของแฟ้ม แล้วคลิก OK
8.คลิก Finish

ติดตั้ง IIS และบริการ FTP เสร็จแล้ว คุณต้องกำหนดค่าบริการ FTP ก่อนที่จะใช้งาน


การกำหนดค่าบริการ FTP

เมื่อต้องการกำหนดค่าบริการ FTP ให้อนุญาตให้ใช้การเชื่อมต่อแบบไม่ระบุผู้ใช้ ให้ทำตามขั้นตอนต่อไปนี้:
1.เปิด Internet Information Services Manager หรือเปิด IIS snap-in
2.ขยาย Server_nameโดยที่ Server_name คือชื่อของเซิร์ฟเวอร์
3.ขยาย FTP Sites
4.คลิกขวาที่ Default FTP Site แล้วคลิก Properties
5.คลิกแท็บSecurity Accounts
6.คลิกเพื่อเลือกช่องทำเครื่องหมาย Allow Anonymous Connections (หากยังไม่ได้เลือก) แล้วคลิกเพื่อเลือกช่องทำเครื่องหมาย Allow only anonymous connectionsเมื่อคุณคลิกเพื่อเลือกช่องทำเครื่องหมาย Allow only anonymous connections คุณกำหนดค่าบริการ FTP ให้อนุญาตให้ใช้การเชื่อมต่อแบบไม่ระบุผู้ใช้ได้ ผู้ใช้ไม่สามารถล็อกอินได้โดยใช้ชื่อผู้ใช้และรหัสผ่าน
7.คลิกแท็บHome Directory
8.คลิกเพื่อเลือกช่องทำเครื่องหมาย Read และ Log visits (หากยังไม่ได้เลือก) แล้วคลิกเพื่อยกเลิกช่องทำเครื่องหมาย Write (หากยังไม่ได้ยกเลิกการเลือก)
9.คลิก OK
10.ปิด Internet Information Services Manager หรือปิด IIS snap-in

เซิร์ฟเวอร์ FTP ได้รับการกำหนดค่าให้รับการร้องขอ FTP ขาเข้าได้แล้ว คัดลอกหรือย้ายแฟ้มต่างๆ ที่คุณต้องการให้ใช้งานได้ไปยังโฟลเดอร์ FTP publishing เพื่อให้เข้าถึงได้ โฟลเดอร์ที่เป็นค่าเริ่มต้นคือ drive:\Inetpub\Ftproot โดยที่ drive คือไดรฟ์ที่ติดตั้ง IIS ไว้

Determine PC Upgrade Readiness Using Windows Vista Hardware Assessment

Is your organization ready to migrate to Windows Vista?

With new features that make it easier for office and mobile workers to find and use information and work collaboratively, the Windows Vista™ operating system can give organizations a competitive advantage in the marketplace. While the benefits of Windows Vista are well understood, IT professionals are now asking the next set of questions:
• How many of my existing PCs are current ready for Windows Vista?
• How many more PCs can be upgraded to Windows Vista?
• What upgrades are required in terms of memory, hard disk and graphics cards?
• How much would it cost and how long would it take to upgrade these PCs?
To help IT professionals and consultants answer these questions, Microsoft has developed a networkwide assessment tool—Windows Vista Hardware Assessment. This tool helps organizations make informed decisions about desktop deployment and migration to Windows Vista. It makes it easier for IT professionals and consultants to quickly inventory PCs on a network and automatically generate detailed reports of their hardware and device driver compatibility, all without requiring the deployment of any software agents on the individual PCs. Windows Vista Hardware Assessment is part of a family of Solution Accelerators that are available for download at no cost.

Download this Tool Now: http://www.microsoft.com/technet/wvha

วันเสาร์, พฤษภาคม 05, 2550

การกำหนดค่าสำหรับคอมพิวเตอร์แม่ข่าย

1.คลิกขวาที่ My Computer
2.คลิกคำสั่ง Properties
3.จะปรากฏหน้างต่างSystem Properties ขึ้นมาคลิกแท็บ Computer Name
4.ที่ช่องComputer description ให้กำหนดรายละเอียดของเครื่องซึ่งเราสามารถตั้งชื่ออะไรลงก็ได้แต่ควรให้สื่อความหมายบ้าง โดยในตัวอย่างนี้ตั้งชื่อเป็น Server เพื่อแสดงให้เห็นว่าเครื่องนี้เป็นเครื่องแม่ข่าย
5.จากนั้นคลิกที่ปุ่ม Change เพื่อกำหนดชื่อของเครื่องคอมพิวเตอรืและชื่อ Workgroup
6.จะปรากฏหน้างต่างComputer Name Changes ขึ้นมาที่ช่องComputer name ให้ตั้งชื่อเครื่องคอมพิวเตอร์ในที่นี้ตั้งเป็น Com1
7.ติ๊กที่ช่อง Workgroup แล้วตั้งชื่อ Workgroup ในตัวอย่างนี้ตั้งตามค่า Default ของ Windows xp คือ "MSHOME" (เราจะตั้งชื่ออะไรก็ได้แต่ทุกเครื่องที่อยู่บนเครือข่ายเดียวกันต้องมีชื่อ Workgroup เหมือนกัน)
8.จากนั้นคลิกปุ่ม ok แล้วจะให้ผลดังหน้าต่างถัดไป
9.เมื่อกำหนดชื่อของเครื่องคอมพิวเตอร์และชื่อ workgroup เสร็จเรียบร้อยแล้ว ให้คลิกที่ปุ่ม Start
10.เลื่อนเมาส์ไปที่ Connect To
11.คลิกที่ Show all connections
12.จะปรากฏหน้าต่างNetwork Connections ขึ้นมาให้คลิกขวาที่ไอคอน Local Area Connection
13.คลิกคำสั่ง Properties
14.จะปรากฏหน้าต่างLocal Area Connections Properties ขึ้นมา ที่แท็บ General ในช่องThis connection uses the following items ให้เราตรวจสอบดูว่ามีส่วประกอบทั้ง 3 นี้หรือไม่ Client for Microsoft Networks,File and Printer Sharing for Microsoft Networks,InternetProtocal (TCP/IP) หากไม่มีให้คลิกปุ่ม Install เพื่อเพิ่มส่วนประกอบเหล่านี้เข้ามา จากนั้นติ๊กเครื่องหมายถูกทั้ง 3 หัวข้อนี้แล้วคลิกที่ Internet Protocol (TCP/IP)
15.จากนั้นคลิกปุ่ม Properties แล้วจะให้ผลในหน้าต่างถัดไป
16.จะปรากฏหน้างต่าง Internet Protocol (TCP/IP) Properties ขึ้นมาให้ติ๊กช่อง Use the following IP address
17.ที่ช่อง IP address ให้ใส่ตัวเลขนี้ลงไป (สำหรับเครื่องที่ 1 )192.168.0.1
18.ที่ช่อง Subnet mask ให้ใส่ตัวเลขนี้ลงไป 255.255.255.0
19.จากนั้นคลิกปุ่ม ok
จากนั้นให้เรารีสตาร์ทเครื่องก็เป็นอันเสร็จสิ้นการเซ็ตค่าเน็ตเวิร์กสำหรับเครื่องที่ 1 ซึ่งกำหนดให้เป็นเครื่องแม่ข่ายเรียบร้อยแล้ว

กองทัพซอปปี้พีชีเตรียมจู่โจม

BOTNETS เป็นวิธีการที่ผู้เชี่ยวชาญใช้เพื่อควบคุมเครื่องพีชีได้จากระยะไกลโดยจะใช้เครื่องที่ถูกควบคุมนี้ส่งสแปมเมล์ กระจายสปายแวร์ต่างๆ และโจมตีเป้าหมายในอินเตอร์เน็ต เป็นต้น
ในปัจจุบันนี้โปรแกรมเล็กๆ ที่ดูไม่น่าจะมีพิษสงอะไรก็สามารถสร้าง Botnet ออกมาเพื่อกระจายตัวเองเข้าไปควบคุมพีชีที่กำลังทำงานอยู่ได้
มีบุคคลบางกลุ่มที่ขายเครื่องมือเพียงเพื่อสร้างBotnet โดยเฉพาะ (botnet development kit) ด้วยเครื่องมือนี้ผู้ที่ใช้มันสร้าง botnet สามารถออกแบบคุณสมบัติที่จะอันตรายต่างๆ ของbotnet ได้อย่างเต็มทีด้วยราคาเพียง 880 บาท จนถึง 129000 บาท โปรแกรมนี้สามารถสร้างได้ทุกอย่างไม่เพียงแต่ botnet ไม่ว่าจะเป็นเวิร์มตัวเล็กๆ จนกระทั่งโปรแกรม keylogger เลยทีเดียวโดยที่ไม่จำเป็นต้องรู้ถึงเทคนิคในการพัฒนาระดับสูงเลยซึ่งในปัจจุบันนี้เครื่องมือเหล่านี้มีอยู่มากมาย ต่างกันเป็นร้อยๆ แบบเลยทีเดียว


การควบคุมผ่านเว็บที่แสนฉลาด
ทุกอย่างดูแน่ลงเรื่อยๆ เมื่อมีผู้ที่ต้องการเป็นนักเจาะระบบ ได้พยายมสร้าง bot แล้วส่งมันออกไปหาผู้ใช้คนอื่นหลายๆ คนแบบไม่สนใจว่าใครจะได้รับ หลังจากนั้นก้จะสามารถสั่งและควบคุมเครื่องเป้าหมายที่โดน bot นี้ครอบงำได้โดยตรงผ่านทางระบบเครือข่าย

จากการวิจัยของ Sunbelt ด้วยทีมงาน Repid Response Team ที่ iDefense Labs ได้มีการค้นพบว่าได้มี botnet ชนิดใหม่ที่สามารถทำงานผ่านเว็บได้ โดยผู้พัฒนาตั้งสมญานามให้มันว่า Metaphisher ซึ่งแทนที่จะเป็นการสั่งงานด้วยข้อความผ่านคอมมานไลน์ทีละบรรทัดเหมือนสมัยก่อนคราวนี้ผู้บุกรุกสามารถควบคุมเครื่องผู้ใช้ได้ในรูปแบบกราฟฟิกสวยงาม เพียบพร้อมไปด้วยไอคอนที่ถูกแบบมาอย่างดีใช้งานง่ายเหมือนกำลังใช้เครื่องตัวเองอยู่ และแน่นอนแค่ชี้เมาส์แล้วคลิ๊กคุณก็เจาะระบบได้แล้ว

ทาง iDefense Lab ได้ประกาศออกมาว่าในขณะนี้พีชีมากกว่าล้านเครื่องทั่วโลกได้ถูกเจ้าตัว Metaphisher ควบคุมเข้าไปเรียบร้อยแล้ว การส่งข้อความของเจ้า bot นี้มีการเข้ารหัสระหว่างการส่งข้อมูลจากเครื่องเป้าหมายไปยังผู้ควบคุมทั้งยังมีการส่งผ่านข้อมูลต่างๆ ของเครื่องพีซีที่ถูกควบคุมอยู่ไปยัง botmaster ไม่ว่าจะเป็นข้อมูลทางภูมิศาสตร์ที่เครื่องพีซีนี้ตั้งอยุ่ patch ต่างๆที่ได้มีการติดตั้งเอาไว้ในเครื่อง และโปรแกรมเว็บบราวเซอร์อื่นๆ นอกเหนือจาก Internet Explorer ที่ถูกติดตั้งอยุ่ในเครื่องเป้าหมายด้วย

Defense
การป้องกัน
1.อย่าคลิ๊กลิงก์ที่มากับอีเมล์จากคนหือกล่มที่คุณไม่รู้จักเด็ดขาดเนื่องจากทั้ง bot และ มัลแวร์ต่างๆ ล้วนใช้วิธีนี้ในการกระจายตัวเองทั้งสิ้น
2.สงสัยไฟล์ที่ถูกแนบมากับอีเมล์อยู่เสมอ อย่ามั่นใจแม้ว่าไฟล์นั้นจะถูกส่งมาจากคนสนิทหรือคนที่คุณรู้จัก ผู้จู่โจมมักจะใช้อีเมล์ปลอมในการจู่โจมเป้าหมาย
3.ลองพิจารณาใช้โปรแกรมเว็บบราวเซอร์รุ่นอื่นๆ อย่าง FireFox หรือ Opera ดูบ้างเพราะว่า Internet Explorer นั้นเป็นเป้าหมายที่นักเจาะระบบชื่นชอบ

การพัฒนา bot ด้วยเครื่องมือง่ายๆ
1.ว่าที่นักเจาะระบบซื้อชุดโปรแกรมสำหรับสร้าง bot จากโลกออนไลน์ หรืออาจจะดาวน์โหลดได้ฟรี
2.นักเจาะระบบที่ไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรมสร้าง bot ใหม่ขึ้นมาที่มีคุณสมบัติใหม่มากมายโดยที่โปรแกรมป้องกันไวรัสไม่สามารถตรวจพบด้วย
3.นักเจาะระบบส่งอีเมล์พร้อมแบบไฟล์ bot ของตัวเองออกไปหรือนำไปส่งไว้ที่สำหรับเลี้ยงมัลแวร์
4.ผลสุดท้ายคนที่ได้เงินมากที่สุดจาก การโจมตีที่เกิดขึ้นไม่ว่าจะเป็นสปายแวร์ สแปม ก็คือผู้พัฒนา botnet นั่นเอง

วันจันทร์, เมษายน 30, 2550

ตั้งเวลาปิดเครื่อง... ก่อนหนีเที่ยว

หากต้องเปิดเครื่องทิ้งไว้ อยากตั้งเวลาปิดเครื่องอัตโนมัติ หากเราจำเป็นต้องเปิดเครื่องไว้ เพราะกำลังรันโปรแกรมบางอย่างอยู่ และอีกหลายชั่วโมงกว่าจะเสร็จ เราสามารถสั่งให้เครื่องปิดตัวเองอัตโนมัติได้ โดยใช้เครื่องมือ Scheduled Task ช่วย ดังนี้ครับ

1.เลือกเมนู All Programs>Accessories>System Tools>Scheduled Task เพื่อเปิดหน้าต่างScheduled Task ขึ้นมาครับ จากนั้นดับเบิ้ลคลิกที่ไอคอน Scheduled Task เพื่อสร้างตารางงานใหม่

2.สิ่งที่เราต้องรู้ในที่นี้ก็คือ ไฟล์คำสั่งที่ใช้สำหรับการปิดเครื่อง ซึ่งก็คือไฟล์ Shutdown.exe อยู่ในโฟลเดอร์ System32 ภายใต้โฟลเดอร์ Window ให้เราคลิกเมาส์ที่ปุ่ม Browse และเลือกไฟล์คำสั่ง shutdown.exe ซึ่งเป็นคำสั่งเพื่อปิดระบบคับ

3.จากนั้นเป็นขั้นตอนการกำหนดช่วงเวลา ที่จะให้ปิดเครื่อง ในที่นี้เลือก Diary คือภายในวันนี้และเข้าไปกำหนดเวลาเจาะจง ก็เป็นอันจบขั้นตอนแล้วครับ

หลังจากนั้น เราสามารถเปิดเครื่องให้ทำงานทิ้งไว้ และเมื่อถึงเวลาที่กำหนดไว้ คอมพิวเตอร์ก็จะปิด (Shut down) ลงโดยอัตโนมัติครับมี Tip เล็กๆ น้อยสำหรับการปิดเครื่องครับ คือ ปุ่ม Power กับปุ่ม Sleep บนคีย์บอร์ด เราสามารถกำหนดเพื่อให้เป็นการสั่งปิดเครื่อง (Turn Off) หรือเข้าสู่โหมด Stand By ได้ครับโดย ปุ่ม Power เหมือนสั่ง Shutdown เครื่อง คือปิดการทำงานของ Windows และดับเครื่องลง ส่วนปุ่ม Sleep : เหมือนสั่ง Stand By คือ หยุดพักเครื่องชั่วคราว เพื่อเข้าสู่โหมดประหยัดพลังงาน โดยสามารถกลับเข้าทำงานได้ด้วยการเคลื่อนเมาส์ หรือกดปุ่มคีย์บอร์ดนั่นเอง

กำจัดโปรแกรมที่ชอบแอบโหลดตอนเปิด

หลายคนคงรู้สึกอึดอัดรำคาญใจที่โน้ตบุ๊กที่ใช้อยู่ว่าจะบูตเครื่องเสร็จต้องใช้เวลานาน อันเนื่องจากต้องเสียเวลาโหลดเหล่าโปรแกรมอะไรต่อมิอะไร (ทั้งที่บางโปรแกรมก็ไม่ได้ใช้อะไรเลย) ดังนั้น ในหัวข้อนี้ผมจะแนะนำวิธีการกำจัดโปรแกรมไร้ประโยชน์เหล่านี้จาการโหลดตอนบูตเครื่อง ซึ่งวิธีการมีหลายแบบ เรามาดูกันเลยครับ
วิธีแรก จะทำผ่าน Msconfig โดยคลิ้กปุ่ม Start -> Run พิมพ์ msconfig กด Enter คลิ้กแท็บ Startup คลิ้กเลือกโปรแกรมที่ไม่ต้องการ
วิธีที่สอง จะลบโดยตรงจากเมนู Startup คลิ้กปุ่ม Start -> All Program -> Startup แล้วคลิ้กขวาที่ชื่อโปรแกรมที่จะลบและเลือก Deleteส่วนวิธีสุดท้าย ยุ่งยากหน่อยแต่ก็ได้ผลดีและสะอาดจริงๆ โดยแก้ไขผ่านรีจิสทรี คลิ้กปุ่ม Start -> Run พิมพ์ regedit คลิ้กปุ่ม OK ที่ HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Run

มาใช้งาน Windows Mobile 5 บนเครื่อง PC กัน

ข่าวดีสำหรับผู้ที่ต้องการทดลองใช้งาน Windows Mobile เวอร์ชั่นล่าชุด แต่ไม่อยากซื้อ Pocket ตัวใหม่ หรืออยากลองใช้งาน Pocket PC แบบไม่ต้องเสียเงิน
ทางบริษัท Microsoft ได้เปิดให้ดาวน์โหลด Windows Mobile 5 [WM5] Emulator แล้ว โดยEmulator ตัวนี้สามารถใช้งานแยกได้เลย ไม่เหมือนกัน Emulator เวอร์ชั่นก่อนหน้านี้ที่ต้องลง Visual Studio ก่อนถึงจะใช้งานได้
แต่สำหรับ Emulator ตัวนี้เพียงแค่เราดาวน์โหลดไฟล์ตามนี้
1. Virtual Machine Network Driver for Microsoft Device Emulator
http://www.microsoft.com/downloads/details.aspx?familyid=DC8332D6-565F-4A57-BE8C-1D4718D3AF65&displaylang=en
2. ไฟล์ V1Emulator.zip
3. efp.msi
โดยดาวน์โหลดจากตรงนี้เลยครับ http://www.microsoft.com/downloads/details.aspx?FamilyId=C62D54A5-183A-4A1E-A7E2-CC500ED1F19A&displaylang=en#filelistเราก็จะได้ Pocket PC มาใช้งานโดยไม่ต้องเสียเงินซื้อเลยละครับ

Microsoft Vista released for sale

Microsoft has started the roll-out of its new operating system, Windows Vista, which at first is being made available to business customers only.
The system, a replacement for the firm's current Windows XP operating system, will not be available to home consumers until the end of January.
With Windows running on nine in 10 of the world's PCs, analysts agree the new version should be a big success.
However, Vista is two years late and its consumer launch misses Christmas.
A huge but slow success
Last minute delays at Microsoft meant that computer makers would have been able to install Vista only on about half the computers that they were hoping to sell over Christmas, said Al Gillen, a Vista expert with technology consultancy IDC.
Microsoft predicts that Vista will be the fastest-selling operating system to date.

Experts agree, but say this is merely a result of the wider usage of computers compared to five years ago, when Windows XP launched.
Corporate customers, meanwhile, will take their time deploying Vista as well.
"Our big corporate customers were the first to test Vista, but will probably be the last to introduce it, because they have the most [hardware and software] to test for compatibility with Vista," said Gareth Hansford, managing director of Lenovo UK, the company that was IBM's PC division until it was bought by Lenovo of China.
He expects corporate customers to begin large-scale rollouts of Vista in about a year's time.
IDC's Al Gillen agrees, and points to a very unusual feature built into Vista, which allows IT managers to "downgrade" the software on new computers and run Windows XP instead.
Once the company is fully Vista-ready, the IT team can simply activate the original Vista license bought with the new PC.
Most analysts believe that Vista will dominate computer desktops in about two years' time.

Microsoft's core product
Microsoft has combined the launch of Vista with the release of the newest version of its productivity software, Office 2007, and its networking software Exchange.
The company has invested a lot of money and effort to get Vista ready.
More than 10,000 workers reportedly have worked on getting the operating system ready for deployment.
The development of Office and Vista took five years and $20bn (£10bn), said Gordon Frazer, managing director of Microsoft UK, at the product launch in London.
Microsoft executives say that Vista is designed to be much more secure than any of its previous operating systems, while home users can look forward to much better game play and the integration of Microsoft's media centre into the main operating system.
A key feature of Vista and Office 2007 is the integration of desktop search, which will make it much easier for users to find both applications and files. According to Microsoft, less than 6% of computer users currently have products like MSN and Google desktop search installed on their computers.
The XP successor will come in six versions, from very simple installations for low-powered computers to fully-loaded corporate editions.
Vista's success is crucial to Microsoft's finances.
The corporate division responsible for Windows is generating nearly a third of Microsoft's turnover, and a much higher share of its profits.

Office 2007
The suite of programs - encompassing a word processor, spreadsheet, database and more - can run on both Windows XP and Vista.
Microsoft says that the combination of Vista, Office 2007 and Exchange combined will allow corporate customers to make hefty productivity gains.
Jacob Jaffe, director of the Microsoft Office programme, told BBC News that surveys of test users of Office 2007 showed that nearly four-fifths of them reported productivity gains as a result of using the software suite.
Several rivals of the company, however, have complained that Vista's new design is making it more difficult for them to get their products to work - for example anti-virus software. The dispute is likely to put Microsoft under scrutiny again, with the European Commission already voicing concerns whether Vista is shutting out competitors.

แก้ ""Windows Geniun"

Run > Regedit
Browse to the following location
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENT VERSION\WINLOGON\NOTIFY
Delete the folder "Wgalogon" and all its contains
Reboot Windows xp

วิธีการลบหรือยกเลิก Password ใน BIOS เมื่อลืมหรือไม่ทราบ

วิธีการลบหรือยกเลิก Password ใน BIOS เมื่อลืมหรือไม่ทราบ

โดยปกติแล้ว หากใช้เครื่องคอมพิวเตอร์คนเดียว ก็คงไม่มีความจำเป็นต้องตั้ง Password สำหรับเข้าไป Setup BIOS หรือเปิดเครื่อง แต่ถ้าหากได้เคยตั้งไว้แล้วลืม หรือได้เมนบอร์ดมาโดยที่มีการตั้ง Password ไว้และไม่รู้ว่าใช้ Password อะไร ก็มีวิธีการที่จะ Reset หรือ Clere Password ซึ่งอาจจะต้องลองหลาย ๆ วิธีดูนะครับเท่าที่ได้รวบรวมมาดังนี้
ถ้าคุณไม่ได้ตั้ง password เอง ให้ลองใช้ Default Password เหล่านี้ดูก่อน เพราะอาจจะเป็น password ที่ตั้งมาตั้งแต่แรกก็ได้ (Case Sensitive)
AMI Award bios setup cmos AMI_SW AMI!SW/ AMI?SW/ AWARD_SW ทำการ Reset โดยการ Clear CMOS ดังนี้
มองหา jumper สำหรับ Reset CMOS ก่อนโดยดูจากคู่มือ หรืออาจจะมองหา jumper ใกล้ ๆ กับแบตเตอรี่ของ CMOS ก็ได้ ส่วนใหญ่จะมีลักษณะเป็น jumper 3 ขา วิธีการ Reset คือทำการ jump ให้ตรงข้ามกับปกติ คือถ้าหากเดิมมีการ jump อยู่ที่ 1-2 ก็เปลี่ยนมาเป็น 2-3 หรือถ้าปกติ jump อยู่ที่ 2-3 อยู่แล้วก็เปลี่ยนเป็น 1-2 จากนั้นเปิดเครื่องคอมพิวเตอร์ ทิ้งไว้สัก 5-10 วินาที ปิดเครื่องคอมพิวเตอร์ เปลี่ยน jumper กลับมาที่เดิม Password จะถูก Reset ทำการถอดแบตเตอรี่ของ CMOS ออก
ถ้าหากไม่สามารถหา jumper สำหรับ Reset CMOS ได้อาจจะมีอีกวิธี คือทำการถอดแบตเตอรี่ของ CMOS ออกสัก 5 นาทีแล้วก็ใส่เข้าไปใหม่ จะเป็นการตั้งค่าทุกอย่างของ BIOS กลับไปเป็น Default ได้ แต่เมนบอร์ดบางรุ่น จะยังมี Password อยู่โดยจะเป็น Default Password ตามด้านบนนะครับ หลังจากใส่แบตเตอรี่แล้วก็ถ้ายังถาม Password อีกให้ลองใส่ Default Password ข้างบนดู
ใช้โปรแกรม Reset CMOS เพื่อทำการลบ password
โดยการใช้โปรแกรม มาทำการรัน เพื่อลบ password ซึ่งวิธีนี้ผมเองก็ยังไม่เคยใช้ ถ้าหากไม่มีวิธีอื่น ๆ แล้วก็ลองกันดูครับ ตัวโปรแกรมที่ว่าเคยเห็นจาก http://www.thaiware.com ครับ
ใช้โปรแกรม CMOSPWD สำหรับการดู password ที่ตั้งไว้
โดยการใช้โปรแกรม CMOSPWD มารันใน DOS Mode ซึ่งจะทำให้เราเห็นข้อมูลของ password ได้ แต่ต้องทราบรุ่นของ bios ที่ใช้งานด้วยนะครับ ตัวโปรแกรมนี้หาได้ที่ http://www.tweakfiles.com ครับ
ใช้ debug ในการลบ password
อีกวิธีหนึ่งครับ โดยการเรียกโปรแกรม debug ที่จะมีอยู่ใน DOS และสั่งคำสั่งต่าง ๆ โดยมีขั้นตอนดังนี้
1. บูตเครื่องโดยให้เข้าที่ DOS Mode โดยการกด Ctrl ค้างขณะบูต และเลือกเข้า DOS Prompt2. พิมพ์คำว่า debug และกด Enter จะขึ้นเครื่องหมาย - รออยู่3. พิมพ์คำว่า o 70 2e และกด Enter ( ตัวอักษร โอ เจ็ดศูนย์ สองหนึ่ง นะครับ)4. พิมพ์คำว่า o 71 ff และกด Enter5. กด q และกด Enter ครับ6. จากนั้น บูตเครื่องใหม่ ถ้าใช้งานได้ ก็จะไม่มีการถามรหัสผ่านเข้า bios อีกแล้ว

สำรองและกู้รีจีดิส

สำรองและกู้รีจีดิส
1. เข้าสุ้ regedit จากนั้นคลิกขวาที่ My Computer เลือกไปที่คำสั่ง Export ใส่ชือ ที่จะสำร้อง แล้ว เซฟ

กู้รีจิสเตอร์
1. เข้าสุ่ รีจีดิส แล้วเลือก File>Import แล้วเลือกไฟที่สำรอง แล้ว open อีกวิธี ปกติจะมีนาสกุลเป็น .reg ทำโดยไม่เปิด regedit ไปคลิ๊กที่ไฟลืสำรองได้เรย

ไม่แสดงคุณสมบัติของมายคอม
1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVertion\Polices\Explorer คลิกขวาที่ Explorer>new>DWORD Value พิมชือ รีจิสเป็น NoPropertiesMyComputer เปลี่ยนจาก 0 เป็น 1

ห้ามค้นหาข้อมูลในวินโดว์
1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVertion\Polices\Explorer คลิกขวาที่ Explorer>new>DWORD Value พิมชือ รีจิสเป็น NoFind เปลี่ยนจาก 0 เป็น 1

ห้ามใช้ Active Desktop
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVertion\Polices\Explorer คลิกขวาที่ Explorer>new>DWORD Value พิมชือ รีจิสเป็น NoActiveDesktop เปลี่ยจาก 0 เป็น 1

ซ่อนไดร์ต่างๆ ภายในเครื่อง
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVertion\Polices\Explorer คลิกขวาที่ Explorer>new>DWORD Value พิมชือ รีจิสเป็น NoDrives เปลี่ยจาก 0 เป็น 1 จะเป็นไดร์ A ถ้าไดร์อื่นต้องไปเปลี่ยนค่าใน Decimal ดังนี้ a:1 b:2 c:4 d:8 e;16 f:32 g:64 h:128….all:67108863

ป้องกันไม่ให้ใช้ regedit
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVertion\Polices\System คลิกขวาที่ System>new>DWORD Value พิมชือ รีจิสเป็น DisableregistryTools เปลี่ยจาก 0 เป็น 1

วันศุกร์, เมษายน 20, 2550

การ Backup เพื่อป้องกันข้อมูลสูญหาย

บ่อยครั้งที่หลายๆ คนต้องประสบปัญหากับเครื่องคอมพิวเตอร์ในขณะที่กำลังทำงานอยู่ไม่ว่าจะเป็นปัญหาที่มาจากตัวเครื่องคอมพิวเตอร์ หรือปัจจัยภายนอก เช่น ไฟฟ้าดับ ปลั๊กหลุด ล้วนเป็นเหตุให้ข้อมูลที่เก็บไว้สูญหายไปได้ ซึ่งปัญหานี้เราสามารถแก้ไขได้ด้วยการ Backup สำรองข้อมูลสำคัญๆ เอาไว้ซึ่งการทำ Backup เพื่อสำรองข้อมูลใน Windows XP นั้นสามารถทำได้ดังนี้
1.ดับเบิ้ลคลิกเลือก My Computer
2.คลิกเมาส์ขวาที่ไดรฟ์ที่เราต้องการทำการ Backup ข้อมูลเอาไว้ แล้วคลิกเลือก Properties
3.เมื่อปรากฏไดอะล็อกบ็อกซ์ Local Disk(E:) Properties ขึ้นมาให้คลิกแท็บ Tools
4.คลิปปุ่ม Backup Now....
5.เมื่อปรากฏไดอะล็อกบ็อกซ์ Backup files and setting แล้วให้คลิกปุ่ม Next>
6.คลิกเลือก Backup file and settings
7.คลิกปุ่ม Next>
8.จากนั้น ให้เลือกคำสั่งที่ใช้ในการ Backup ข้อมูล ซึ่งประกอบไปด้วย
-My Document and Settings คือ คำสั่งที่ให้โปรแกรมทำการ Backup เฉพาะโฟลเดอร์และไฟล์คุกกี้ของผู้ใช้ในปัจจุบัน
-Everyone's Docments and Setting คือ คำสั่งที่ให้โปรแกรมทำ Backup เฉพาะโฟลเดอร์ My Document Favorites ,Desktop และไฟล์คุกกี้ของผู้ใช้ทั้งหมด
-All Information on this computer คือ คำสั่งที่ให้โปรแกรมทำการ Backup ข้อมูลทั้งหมดที่อยู่ในเครื่องคอมพิวเตอร์ พร้อมสร้างแผ่นบู๊ตระบบฉุกเฉินไว้ด้วย
-Let me choose what to backup คือ คำสั่งที่ให้ผู้ใช้เลือกไฟล์ข้อมูลที่จะ Backup ได้ตามต้องการ
ในที่นี้ สมมติว่าเราเลือกการ Backup ประเภท Let me choose what to backup
9.คลืกปุ่ม Next>
10.คลิกเซ็คบ็อกซ์ข้างหน้าไฟล์หรือไฟลเดอร์ที่ต้องการจะทำการ Backup
11คลิกปุ่มNext>
12.ตั้งชื่อไฟล์ที่เราใช้ในการทำ Backup
13.คลิกปุ่ม Browse... เพื่อเลือกสถานที่ที่จะทำการจัดเก็บไฟล์ที่ได้ทำการ Backup
14.เมื่อปรากฏไดอะล็อกบ็อกซ์ Save AS ขึ้นมา ให้คลิกเลือกไดรฟ์หรือ โฟลเดอร์ที่จะจัดเก็บไฟล์ที่ได้ทำการ Backup ไว้
15.ตั้งชื่อไฟล์ Backup ในช่อง File name
16.คลิปปุ่ม Save
17.คลิกปุ่ม Next>
18.คลิกปุ่ม Finish
19.โปรแกรมจะเริ่มทำการ Backup ข้อมูล
20.เมื่อโปรแกรมได้ทำการ Backup ข้อมูลแล้ว ให้คลิกปุ่ม Close จากนั้นข้อมูลที่เราได้ทำการ Backup ไว้ก็จะสามารถถูกเรียกขึ้นมาใช้งานได้ ไม่สูญหายไปแม้ว่าจะเกิดปัญหากับเครื่องคอมพิวเตอร์

ถ้า Windows XP มัก Restart เองบ่อยๆ

ตามปกคิแล้ว Windows XP จะถูกกำหนดให้มีการ Restart เครื่องโดยอัตโนมัติเมื่อเกิดปัญหาขึ้นมา แต่บางคร้ง แต่อาจมีปัญหาขึ้นมาได้ว่าทำไม Windows XP มีการ Restart บ่อยผิดปกติ ซึ่งปัญหานี้เราสามารถแก้ไขได้โดย
1.คลิกเมาส์ขวาที่ My Computer แล้วคลิกเลือก Properties
2.เมื่อปรากฏไดอะล็อกบ็อกซ์ System Properties ให้คลิกแท็บ Acvanced
3.คลิกปุ่ม Settings ในกรอบคำสั่ง Startup and Recovery
4.ในไดอะล็อกบ็อกซื Startup and Recovery ให้คลิกยกเลิกเครื่องหมายถูกหน้าคำสั่ง Automatically Restart
5.คลิกปุ่ม ok
6.คลิกปุ่ม ok ในไดอะล็อกบ็อกซ์ System Properties

วันพุธ, กันยายน 20, 2549

คุณมีระดับความเป็นส่วนตัวในระดับใด

คุณอาจจะทราบดีแล้วว่าปัญหาเรื่องความเป็นส่วนตัวอาจจะโดนละเมิดได้ทุกเมื่อ แต่คุณจะทำอย่างไรที่จะป้องกันไม่ให้เกิดปัญหานี้ ลองตอบแบบสอบถามของเราแล้วให้คะแนนตัวคุณเองว่าอยู่ในระดับใด
1.(a)คุณมีปัญหาบัญชีต่างๆ ที่ใช้บนอินเทอร์เน็ต(สำหรับอีเมล์ ห้องแซท บริการธนาคารและอื่นๆ ที่ต้องใช้รหัสผ่านทั้งหมดกี่ชุด

2.คุณเปลี่ยนรหัสผ่านบ่อยแค่ไหน (เลือกเพียงคำตอบเดียว)
A.เปลี่ยนเกือบทุกเดือน
B.เปลี่ยนเดือนละครั้ง
C.เปลี่ยนปีละสี่ครั้ง
D.เปลี่ยนปีละสองครั้ง
E.เปลี่ยนปีละครั้ง หรือมากกว่าปีหนึ่งปีจึงเปลี่ยน
F.ไม่เคยเปลี่ยนเลย

3.ข้อใดต่อไปนี้ที่บ่งบอกลักษณะการตั้งรหัสผ่านของคุณ (เลือกได้มากกว่าหนึ่งข้อ)
A.วันที่สำคัญๆหรือวันเกิด
B.ชื่อของคนหรือสัตว์เลี้ยง
C.บางส่วนของชื่อพ่อแม่หรือพี่น้อง
D.ความสนใจส่วนตัวหรือกิจกรรมยามว่าง(รายการ โทรทัศน์,ชื่อหนัง,อาหาร,เครื่องดื่ม)
E.สุ่มคำศัพท์จากดิกชันนารี
F.เป็นตัวอักษรและตัวเลขผสมกัน
G.อื่นๆ

4.คุณเก็บรหัสผ่านอย่างไร (เลือกได้มากกว่าหนึ่ง ข้อ)
A.จดเอาไว้ในกระดาษหรือสมุดบันทึก
B.เขียนเอาไว้บนกระดาษแล้วแปะไว้ตามที่ต่างๆ
C.ใช้โปรแกรมจัดการเก็บรหัสผ่านในเครื่องพีชี
D.เก็บเอาไว้ในโปรแกรมจัดการรหัสผ่านในเครื่องพีดีเอ
E.เก็บเอาไว้ในไฟล์สเปรตซีตหรือเท็กซ์ไฟล์ในเครื่องพีชี
F.เก็บเอาไว้ใน USB แฟลซไดร์ฟ
G.จำเอาไว้
H.ไม่มีการจดบันทึกรหัสผ่าน
j.ปล่อยให้บราวเซอร์เก็บหรือจำรหัสผ่านเอาไว้

5.คุณใช้เครื่องพีชีทำอะไรบ้างในช่วงปีที่ผ่านมา(ตอบได้มากกว่าหนึ่งข้อ)
A.ส่งข้อความไปในกระดานข่าว
B.แชทกับเพื่อนในห้องแชท
C.รับ-ส่งอีเมล์
D.ซื้อของ หรือวางแผนการท่องเที่ยวบนเว็บ
E.ทำธุรกรรมธนาคารออนไลน์
F.ค้นหาข้อมูลบนเว็บ
G.ใช้โปรแกรมส่งข้อความ IM
H.สมัครบัตรเครดิต หรือขอสินเชื่ออออนไลน์
I.ชำระค่าใช้จ่ายต่างๆ
J.แก้ไขปัญหาเรื่องสแปมหรือยกเลิกสมาชิกต่างๆ
K.ซื้อสินค้าหรือบริการที่ได้รับมาจากสแปมเมล์
L.ชำระภาษีผ่านออนไลน์
M.ส่งใบสมัครงานผ่านออนไลน์
N.เล่นเกมส์ออน์ไลน์
O.แชร์ไฟล์ผ่านระบบแชร์ไฟล์ต่างๆ
P.อื่นๆ

6.ตามปกติแล้วคุณอ่านเงื่อนไขเกี่ยวข้องกับความเป็นส่วนตัวของบริการต่างๆก่อนที่จะสมัครหรือไม่(เลือกเพียงคำตอบเดียว)
A.อ่านทุกครั้ง
B.ส่วนมากจะอ่าน
C.อ่านเพียงบางครั้ง
D.อ่านบ้างไม่อ่านบ้าง
E.ไม่เคยอ่านเลย

7.คุณทำอย่างไรถ้าคุณไม่เห็นด้วยกับเงื่อนไขของเว็บ (เลือกเพียงคำตอบ)
A.ให้ข้อมูลตามความเป็นจริง
B.ให้ข้อมูลตามความเป็นจริงและจะร้องเรียนไปยังบริษัทนั้นๆด้วย
C.ให้ข้อมูลหลอก
D.ให้ข้อมูลหลอก และจะร้องเรียนไปยังบริษัทนั้นๆด้วย
E.ไม่สมัครสมาชิก
F.ไม่สมัครสมาชิกและจะร้องเรียนไปยังบริษัทนั้นๆด้วย

8.คุณทำอะไรต่อไปนี้บ้างสำหรับเครื่องพีชีที่บ้านหรือออฟฟิศ (ตอบได้มากกว่าหนึ่งข้อ)
A.ติดตั้งโปรแกรมแก้ไขหรือปรับปรุง
B.ติดตั้งโปรแกรมแก้ไขเรื่องความปลอดภัยของระบบปฏิบัติ
C.ลบไฟล์คุกกี้ที่อยู่ในเครื่องทิ้ง
D.ลบไฟล์บันทึกเว็บที่เคยเยี่ยมชมบราวเซอร์ทิ้ง
E.ลบไฟล์ชั่วคราวของเว็บบราวเซอร์ทิ้ง
F.ปรับปรุงข้อมูลของโปรแกรมป้องกันไวรัส
G.ใช้โปรแกรมจำพวก Ad-ware หรือ SpyBot ลบโปรแกรมที่จะโฆษณาสินค้าออกไป
H.เรียกใช้โปรแกรมป้องกันไวรัส
I.ใช้ไฟร์วอลล์
J.เข้ารหัสไฟล์ที่เก็บอยู่ในฮาร์ดิสก์
K.เข้ารหัสอีเมล์
L.แจ้งปัญหาเรื่องความปลอดภัยกับ ISP

คำนวณระดับความเป็นส่วนตัวของคุณ
คำถามที่ 1 : หารจำนวนของรหัสผ่าน(a)ด้วยจำนวนของบัญชี(b)แล้วคูณด้วย 20 ถ้าได้ผลลัพธ์มากกว่า 100 ให้จัดอยู่ในกลุ่มของคะแนน 100
ให้คะแนนข้อต่างๆดังนี้
ข้อ2: A:10; B:8; C:5; D:3; E:1; F:-5;
ข้อ3: A:-1; B:-1; C:-3; D,E:-2; F:10; G:1;
ข้อ4: A:-5; B,H:-10; C,D,G:8; E:-2; F:2; I:0; J:-1;
ข้อ5: A,H:-5; B,D,J:-2; C,I,L,P:0; E:-3;
ข้อ6: A:10; B:7; C:5; D:4; E:0;
ข้อ7: A:-5 B:-1; C:0; D,E:2; F:5;
ข้อ8: A,B,F,L:5; C,D,E:2; G:7; H,I,J,K:10
รวมคะแนนทั้งหมดแล้วบวกด้วย 75 หารด้วย 2 จะได้คะแนนระดับความเป็นส่วนตัวของคุณ
1-25:คุณอยู่ในระดับเสี่ยง ข้อมูลส่วนตัวของคุณอาจจะมีการส่งไปยังบริษัทต่างๆ แฮกเกอร์ หรืออื่นๆคุณควรจะให้ความสำคัญยิ่งขึ้นในการดูแลรหัสผ่านของคุณ และเพิ่มการป้องกันเครื่องพีชีของคุณด้วย

26-50:ความเป็นส่วนตัวของคุณอยู่ในระดับปานกลางซึ่งคุณได้มีการป้องกันตัวเองในระดับหนึ่งแต่ยังไม่เพียงพอที่จะอุดรูรั่วต่างๆ

51-75:คุณให้ความระมัดระวังมากพอสมควร เนื่องจากว่า ได้ศึกษาถึงสิ่งที่สำคัญต่างๆ ที่จะช่วยในการปกป้องตัวคุณเองจากภัยร้ายต่างๆ บนอินเตอร์เน็ต แต่ก็ยังมีสิ่งที่จะต้องปรับปรุงอยู่บ้าง

76-100:คุณอยู่ในกลุ่มผู้ใช้งานชั้นยอดเลยทีเดียว คุณใส่ใจกับสิ่งต่างๆ ไม่ว่าจะเป็นจุดเล็กๆ ในการออนไลน์ซึ่งนับว่าเป็นการกระทำที่ดีมาก
คะแนนเฉลี่ยของผู้ตอบแบบสอบถามอยู่ที่ 56

Is this your phone number?

1) เลขเบอร์โทร 3 ตัวแรก
2) คูณด้วย 80
3) บวก 1
4) คูณด้วย 250
5) บวกเบอร์โทร 4 ตัวหลัง
6) บวกเบอร์โทร 4 ตัวหลังอีกที
7) ลบ 250
8) หารด้วย 2
เบอร์โทรศัพท์ของคุณใช่ไหม???

วันพฤหัสบดี, กันยายน 14, 2549

Internet คืออะไร

ประวัติความเป็นมา

อินเทอร์เน็ต ซึ่งเป็นโครงการของ ARPAnet(Advanced Research Projects Agency Network) ซึ่งเป็นหน่วยงานที่สังกัด กระทรวงกลาโหม ของสหรัฐ (U.S.Department of Defense - DoD) ถูกก่อตั้งเมื่อประมาณ ปีค.ศ.1960(พ.ศ.2503) และได้ถูกพัฒนาเรื่อยมาค.ศ.1969(พ.ศ.2512) ARPA ได้รับทุนสนันสนุน จากหลายฝ่าย ซึ่งหนึ่งในผู้สนับสนุนก็คือ Edward Kenedy และเปลี่ยนชื่อจาก ARPA เป็น DARPA(Defense Advanced Research Projects Agency) พร้อมเปลี่ยนแปลงนโยบายบางอย่าง และในปีค.ศ.1969(พ.ศ.2512)นี้เองที่ได้ทดลองการเชื่อมต่อคอมพิวเตอร์คนละชนิด จาก 4 แห่งเข้าหากันเป็นครั้งแรก คือ มหาวิทยาลัยแคลิฟอร์เนีย สถาบันวิจัยสแตนฟอร์ด มหาวิทยาลัยแคลิฟอร์เนีย และมหาวิทยาลัยยูทาห์ เครือข่ายทดลองประสบความสำเร็จอย่างมาก ดังนั้นในปีค.ศ.1975(พ.ศ.2518) จึงได้เปลี่ยนจากเครือข่ายทดลอง เป็นเครือข่ายที่ใช้งานจริง ซึ่ง DARPA ได้โอนหน้าที่รับผิดชอบโดยตรง ให้แก่ หน่วยการสื่อสารของกองทัพสหรัฐ (Defense Communications Agency - ปัจจุบันคือ Defense Informations Systems Agency) แต่ในปัจจุบัน Internet มีคณะทำงานที่รับผิดชอบบริหารเครือข่ายโดยรวม เช่น ISOC (Internet Society) ดูแลวัตถุประสงค์หลัก, IAB (Internet Architecture Board) พิจารณาอนุมัติมาตรฐานใหม่ในInternet, IETF (Internet Engineering Task Force) พัฒนามาตรฐานที่ใช้กับ Internet ซึ่งเป็นการทำงานโดยอาสาสมัคร ทั้งสิ้นค.ศ.1983(พ.ศ.2526) DARPA ตัดสินใจนำ TCP/IP (Transmission Control Protocal/Internet Protocal) มาใช้กับคอมพิวเตอร์ทุกเครื่องในระบบ ทำให้เป็นมาตรฐานของวิธีการติดต่อ ในระบบเครือข่าย Internet จนกระทั่งปัจจุบัน จึงสังเกตุได้ว่า ในเครื่องคอมพิวเตอร์ทุกเครื่องที่จะต่อ internet ได้จะต้องเพิ่ม TCP/IP ลงไปเสมอ เพราะ TCP/IP คือข้อกำหนดที่ทำให้คอมพิวเตอร์ทั่วโลก ทุก platform คุยกันรู้เรื่อง และสื่อสารกันได้อย่างถูกต้อง
การกำหนดชื่อโดเมน (Domain Name System) มีขึ้นเมื่อ ค.ศ.1986(พ.ศ.2529) เพื่อสร้างฐานข้อมูลแบบกระจาย (Distribution database) อยู่ในแต่ละเครือข่าย และให้ ISP(Internet Service Provider) ช่วยจัดทำฐานข้อมูลของตนเอง จึงไม่จำเป็นต้องมีฐานข้อมูลแบบรวมศูนย์ เหมือนแต่ก่อน เช่น การเรียกเว็บ www.yonok.ac.th จะไปที่ตรวจสอบว่ามีชื่อนี้ หรือไม่ ที่ www.thnic.co.th ซึ่งมีฐานข้อมูลของเว็บที่ลงท้ายด้วย th ทั้งหมด เป็นต้น
DARPA ได้ทำหน้าที่รับผิดชอบดูแลระบบ internet เรื่อยมาจนถึง ค.ศ.1980(พ.ศ.2523) และให้ มูลนิธิวิทยาศาสตร์แห่งชาติ (National Science Foundation - NSF) เข้ามาดูแลแทนร่วม กับอีกหลายหน่วยงาน
ค.ศ.1991(พ.ศ.2534)
ทิม เบอร์เนอร์ส ลี (Tim Berners-Lee) แห่งศูนย์วิจัย CERN ได้คิดค้นระบบไฮเปอร์เท็กซ์ขึ้น เว็บเบราวเซอร์ (Web Browser) ตัวแรกมีชื่อว่า WWW (World Wide Web) แต่เว็บได้รับความนิยมอย่างจริงจัง เมื่อ ศูนย์วิจัย NCSA ของมหาวิทยาลัยอิลลินอยส์เออร์แบน่าแชมเปญจ์ สหรัฐอเมริกา ได้คิดโปรแกรม MOSAIC (โมเสค) โดย Marc Andreessen ซึ่งเป็นเว็บเบราว์เซอร์ระบบกราฟฟิก หลังจากนั้นทีมงานที่ทำโมเสคก็ได้ออกไปเปิดบริษัทเน็ตสเคป (Browser Timelines : Mosaic 1993, IE 1995, Netscape 1994, Opera 1996, Macintosh IE 1996)
ในความเป็นจริง ไม่มีใครเป็นเจ้าของ Internet และไม่มีใครมีสิทธิขาดแต่เพียงผู้เดียว ในการกำหนดมาตรฐานใหม่ต่าง ๆ ผู้ติดสินว่าสิ่งไหนดี มาตรฐานไหนจะได้รับการยอมรับ คือ ผู้ใช้ ที่กระจายอยู่ทั่วทุกมุมโลก ที่ได้ทดลองใช้มาตรฐานเหล่านั้น และจะใช้ต่อไปหรือไม่เท่านั้น ส่วนมาตรฐานเดิมที่เป็นพื้นฐานของระบบ เช่น TCP/IP หรือ Domain name ก็จะต้องยึดตามนั้นต่อไป เพราะ Internet เป็นระบบกระจายฐานข้อมูล การจะเปลี่ยนแปลงระบบพื้นฐาน จึงไม่ใช่เรื่องง่ายนัก
ข้อมูลจาก http://www.computerhistory.org/exhibits/internet_history/ และ http://www.sri.com/about/timeline/arpanet.html
Arpanet : The Internet as you know it today, and through which you are accessing this information, had its beginnings in the late 1960s as the "ARPANET". Started by the U.S. Department of Defense Advanced Research Projects Agency (now DARPA), the entire network consisted of just four computers linked together from different sites to conduct research in wide-area networking. SRI, then known as the Stanford Research Institute, hosted one of the original four network nodes, along with the University of California, Los Angeles (UCLA), the University of California, Santa Barbara (UCSB), and the University of Utah. The very first transmission on the ARPANET, on 29th October 1969, was from UCLA to SRI.

บริการที่อินเทอร์เน็ตมีให้
1. Telnet หรือ SSH
เครื่องมือพื้นฐาน ที่ใช้สำหรับติดต่อกับเครื่อง Server ที่เป็น UNIX หรือ LINUX เพื่อใช้เข้าไปควบคุมการทำงานของเครื่อง หรือใช้อ่าน mail หรือใช้ปรับปรุง homepage หรือใช้เรียกโปรแกรมประมวลผลใด ๆ หรือใช้พัฒนาโปรแกรมและใช้งานในเครื่องนั้น เป็นต้น เพราะระบบ UNIX หรือ LINUX จะยอมให้ผู้ใช้สร้าง application ด้วย Compiler ภาษาต่าง ๆ ได้อย่างอิสระ และเชื่อมต่อกับ Internet ได้อย่างมีประสิทธิภาพ เพราะ Internet เริ่มต้นมาจากระบบ UNIX นี้เอง
ประโยชน์อย่างหนึ่งที่ผู้ใช้โปรแกรม Telnet มักคุ้นเคย คือการใช้โปรแกรม PINE ซึ่งมีอยู่ใน Telnet สำหรับรับ-ส่ง mail และมีผู้ใช้อีกมากที่ไม่รู้ตัว ว่าตนเองกำลังใช้งาน UNIX อยู่ ทั้ง ๆ ที่ใช้ PINE ติดต่องานอยู่ทุกวัน เดิมที่ระบบ UNIX ไม่มีโปรแกรม PINE แต่มีนักศึกษาที่มหาวิทยาลัย WASHINGTON University เพราะใช้ง่ายกว่าการใช้คำสั่ง mail ในการรับ-ส่งมาก
แต่ผู้ใช้ที่ใช้ E-Mail กับเครื่อง UNIX หรือ LINUX ซึ่งใช้ตามมาตรฐาน IMAP มักเป็นกลุ่มนักศึกษาในมหาวิทยาลัย ที่มหาวิทยาลัยได้ให้บริการ E-Mail ซึ่งมีข้อจำกัดบางประการ และหลายมหาวิทยาลัยเช่นกันที่ทำฐานข้อมูล Mail ใน UNIX และให้บริการ Mail ผ่าน browser ได้ ซึ่งเป็นหลักการที่ผู้ให้บริการ mail ฟรีหลายแห่งใช้กันอยู่
สำหรับโปรแกรม Telnet ผู้ต้องการใช้บริการ ไม่จำเป็นต้องไป download เพราะเครื่องที่ทำการติดตั้ง TCP/IP จะติดตั้งโปรแกรม telnet.exe ไว้ในห้อง c:\windows เพื่อให้ผู้ใช้สามารถเรียกใช้ได้อยู่แล้ว แต่ปัญหาหนักอยู่ที่วิธีการใช้ เพราะระบบ UNIX เป็นการทำงานใน Text mode เป็นหลัก การจะใช้คำสั่งต่าง ๆ ผู้ใช้จะต้องเรียนรู้มาก่อน จึงจะใช้งานได้ในระดับที่พึ่งตนเองได้ มิเช่นนั้นก็จะเหมือน คนตาบอดเดินอยู่กลางถนน หากใช้คำสั่งไม่ถูกต้อง อาจทำให้เกิดปัญหาทั้งกับตนเอง และระบบได้

2. อีเมล (e-mail หรือ Electronic Mail)
บริการ E-Mail ฟรี เป็นบริการที่มีผู้ใช้กันมาก เพราะใช้สำหรับส่ง และอ่านข้อความ กับผู้ที่ต้องการติดต่อด้วย และใช้แทนจดหมายได้อย่างดี เพราะไม่ต้องเสียค่าใช้จ่าย และผู้รับจะได้รับในเวลาเกือบทันทีที่ส่งไป ผู้ใหับริการ E-Mail ฟรีในปัจจุบัน เช่นของ
hotmail.com หรือ yahoo.com หรือ ตามแต่ละประเทศ ที่คนในประเทศจะทำ Server ให้บริการ สำหรับกลุ่มที่มีความสนใจคล้าย ๆ กัน เช่น thaimail.com หรือ chaiyo.com ซึ่งเป็นของคนไทย และ mail ฟรีเหล่านี้จะให้บริการไปเรื่อย ๆ ไม่มีการหมดอายุ แต่จะหมดอายุถ้าผู้ใช้เกิดเลิกใช้เป็นเวลานานเกินไป สำหรับ E-Mail ของสถาบัน จะหมดอายุแน่นอน หลักจากที่สำเร็จการศึกษา จึงเป็นจุดบกพร่องข้อใหญ่ ที่ทำให้นักศึกษา หันไปใช้ E-Mail ฟรี มากกว่าที่สถาบัน จัดไว้ให้
การใช้ E-Mail กับผู้ให้บริการฟรี เช่น
thaimail.com, lampang.net, thaiall.com หรือ chaiyo.com นั้น ผู้ใช้จะต้องไป download โปรแกรม browser เช่น netscape หรือ Internet Explorer หรือ Opera หรือ NeoPlanet มาไว้ในเครื่องคอมพิวเตอร์ที่ต่อ Internet แล้วเปิดหน้าเว็บของแหล่งบริการ เพื่อใช้บริการ E-Mail ดังกล่าว ซึ่งผู้ใช้จะต้องขอใช้บริการ และจะได้รับ userid และ password ประจำตัว เพื่อ login เข้าใช้บริการ E-Mail ทุกครั้ง
ปัจจุบันการขอใช้บริการ E-Mail สามารถเลือกได้ที่จะใช้ web-based หรือ POP เพราะแต่ละแบบมีจุดเด่น จุดด้อยที่แตกต่างกัน โดย web-based จะเหมาะกับผู้ที่เดินทางเป็นประจำ ส่วน pop จะเหมาะกับผู้มีคอมพิวเตอร์ส่วนตัว
+
http://www.thaiall.com/article/mail.htm

3. USENET News หรือ News Group
ในยุคแรกของ Internet บริการ USENET ได้มีผู้ใช้บริการ อย่างแพร่หลายอย่างมาก เพราะเป็นแหล่งที่ผู้ใช้ จะส่งคำถามเข้าไป และผู้ใช้คนอื่น ๆ ที่พอจะตอบคำถามได้ จะช่วยตอบ ทำให้เกิดสังคม ของการแลกเปลี่ยนข่าวสาร นอกจากการส่งข้อความเข้าไปใน USENET แล้ว ผู้ใช้ยังส่งแฟ้มในรูปแบบใด ๆ เข้าไปก็ได้ ซึ่งเรียกว่า Attach file หากแฟ้มที่ส่งเข้าไปเป็นภาพ gif หรือ jpg หรือแฟ้มที่มีการรองรับในระบบ internet ก็จะเปิดได้ทันทีด้วย browser หรือแล้วแต่โปรแกรมที่ใช้เปิด USENET นั้น
แต่สำหรับประเทศไทย ผมสังเกตุว่า มีการเข้าไปใช้บริการในส่วนนี้ไม่มาก เพราะกลุ่มข่าว(News Group) ที่ชื่อ
soc.culture.thai ซึ่งเป็น 1 ในหลายหมื่นกลุ่มข่าว และมีชื่อที่เป็นไทยอย่างชัดเจน กลับมีคนต่างชาติ เข้าไปฝากข้อความไว้กว่าครึ่ง และมีคนไทยเพียงครึ่งเดียว ซึ่งเข้าใจว่าผู้ใช้ Internet ในประเทศไทยมักเน้นการใช้บริการ Internet 3 อย่างนี้ คือ Browser และ PIRC และ ICQ
อีกเหตุผลหนึ่ง ที่คนไทยไม่ได้เข้าไปใช้บริการ USENET เท่าที่ควรก็เพราะ ในเว็บของคนไทยหลาย ๆ เว็บจะให้บริการที่ชื่อว่า wwwboard ผ่าน browser อยู่แล้ว ซึ่งมีลักษณะคล้ายคลึงกับ USENET อย่างมาก ทำให้คนไทยหันมาใช้ wwwboard แทน USENET ซึ่งต้องติดตั้งข้อกำหนดเพิ่มเติมให้กับ browser ซึ่งอาจรู้สึกยุ่งยาก ไม่รู้ หรือไม่คุ้นเคยก็เป็นได้ และปัจจุบันบริการต่าง ๆ มักจะรวมมาไว้ใน browser อย่างสมบูรณ์ ทำให้ผู้ใช้มากมาย ไม่เห็นความจำเป็นที่ต้องไปใช้โปรแกรมอื่น เพราะทุกวันนี้ก็ใช้บริการที่อยู่ใน browser ไม่หมดแล้ว เช่น web, mail, chat, wwwboard, game, quiz, pager, news, postcard, shopping, download เป็นต้น
ถ้าเครื่องท่านถูก setup ให้อ่าน news ได้ ท่านสามารถเข้าไปที่
soc.culture.thai เพื่ออ่าน หรือส่งข่าวสารต่าง ๆ ได้

4. FTP (File Transfer Protocal - บริการโอนย้ายข้อมูล)
บริการนี้ สามารถใช้ download แฟ้มผ่าน browser ได้เพราะการ download คือ การคัดลอกโปรแกรมจาก server มาไว้ในเครื่องของตน แต่ถ้าจะ upload แฟ้ม ซึ่งหมายถึง การส่งแฟ้มจากเครื่องของตน เข้าไปเก็บใน server เช่นการปรับปรุง homepage ให้ทันสมัย ซึ่ง homepage ของตนถูกจัดเก็บใน server ที่อยู่อีกซีกโลกหนึ่ง จะต้องใช้โปรแกรมอื่น เพื่อส่งแฟ้มเข้าไปใน server เช่นโปรแกรม cuteftp หรือ wsftp หรือ ftp ของ windows
การ download นั้นไม่ยาก หากผู้ให้บริการยอมให้ใครก็ได้เข้าไป download แฟ้มใน server ของตน และผู้ใช้บริการรู้ว่าแฟ้มที่ต้องการนั้นอยู่ที่ใด แต่การ upload มักไม่ง่าย เพราะต้องใช้โปรแกรมเป็น และมีความเป็นเจ้าของในเนื้อที่ที่จะกระทำ รวมทั้งมี userid และ password เพื่อแสดงสิทธิในการเข้าใช้บริการ การศึกษาการส่งแฟ้มเข้าไปใน server อาจต้องหา
บทเรียน ftp มาอ่านเพื่อศึกษาวิธีการส่ง หรือหาอ่านได้จาก เว็บที่ให้บริการ upload แฟ้ม ซึ่งมักเขียนไว้ละเอียดดีอยู่แล้ว
+
ipswitch.com (WS_FTP Client)
+
http://filezilla.sourceforge.net แนะนำโดย thaiopensource.org
+
http://www.thaiall.com/learn/useftp.htm

5. WWW (World Wide Web)
บริการที่ต้องใช้โปรแกรม Browser เช่น FireFox, Netscape, Internet Explorer, Opera หรือ Neoplanet เพื่อเปิดดูข้อมูลจากเว็บไซต์ (Website) หรือโฮมเพจ (Homepage) จะได้ข้อมูลในลักษณะเป็นตัวอักษร ภาพ เสียง และภาพเคลื่อนไหว ในลักษณะสื่อผสม รวมทั้งการสั่งประมวลผล และตอบสนองแบบอินเทอร์แอ็กทีฟ (Interactive)
บริการนี้ได้รับการพัฒนาอย่างรวดเร็ว จนนำมาใช้งานอย่างหลากหลาย เช่น ชมภาพยนต์ ฟังเพลงออนไลน์ เล่นเกมส์ ค้นข้อมูล ประมวลผลข้อมูลทางธุรกิจ ทำข้อสอบ การส่งเมล ติดต่อซื้อขาย ชำระเงินด้วยบัตรเครดิต หรือส่งโพสท์การ์ด เป็นต้น
+
http://class.yonok.ac.th
+
http://mail.thaiall.com


6. Net2Phone
บริการโทรศัพท์จากคอมพิวเตอร์ไปยังเครื่องรับโทรศัพท์ที่บ้าน (PC2Phone) และได้รับความนิยมอย่างมาก เพราะมีอัตราค่าโทรศัพท์ถูกกว่า และยังมีบริการ PC2Fax สำหรับส่ง Fax จากเครื่องคอมพิวเตอร์ไปเครื่องรับ Fax ที่สำนักงาน โดยชำระค่าบริการแบบ Pre-Paid และใช้บริการจนกว่าเงินที่จ่ายไว้จะหมด แต่ถ้าโทรจากคอมพิวเตอร์ไปยังคอมพิวเตอร์ สามารถใช้งานได้ฟรี เพราะมีโปรแกรมอีกหลายตัวที่มีความสามารถนี้ และฟรีเช่นกัน
+
net2phone.com


7. Netmeeting
ในอดีต .. เป็นโปรแกรมที่มีชื่อมาก เพราะทำให้คนจากซีกโลกหนึ่ง สามารถติดต่อกับอีกซีกโลก ด้วยภาพ และเสียงจากคอมพิวเตอร์ ถึงคอมพิวเตอร์ คล้ายโทรศัพท์ แต่ไม่มีค่าโทรศัพท์ทางไกลไปต่างประเทศ เสียค่าใช้จ่ายเฉพาะค่าเชื่อมต่ออินเทอร์เน็ตเท่านั้น
ผู้ใช้ต้อง download โปรแกรมมาติดตั้ง แต่ปัญหาที่สำคัญในการติดต่อสื่อสารแบบนี้ คือ ต้องการสื่อที่รองรับการสื่อสารด้วยความเร็วสูง เพราะการติดต่อด้วยเสียง อาจได้เสียงที่ไม่ชัดเจน หรือขาดหายระหว่างการสนทนา หากความเร็วในการเชื่อมต่อไม่เร็วพอ และเป็นไปไม่ได้ ถ้าใช้การเชื่อมต่อเว็บแคม (WebCam) แบบเห็นภาพร่วมด้วย ถ้ายังใช้ Modem 56 Kbps อยู่ แต่ถ้าใช้ ADSL ก็จะไม่มีปัญหาเรื่องความเร็วอีกต่อไป



8. ICQ (I Seek You)
ในอดีต .. บริการนี้เป็น บริการที่เยี่ยมมาก และได้รับความนิยมจนไม่คิดว่าจะมีใครมาล้มได้ ผู้ใดที่มีโปรแกรม ICQ ไว้ในคอมพิวเตอร์ จะติดต่อกับเพื่อนที่ใช้โปรแกรม ICQ อยู่ได้อย่างสะดวก เพราะเมื่อเปิดเครื่อง โปรแกรมนี้จะแสดงสถานะของเพื่อนใน List ทันทีว่ามาแล้ว และพร้อมจะสนทนาด้วยหรือไม่ เปรียบเสมือนมี Pager ติดคอมพิวเตอร์ไว้ทีเดียว บริการนี้ ผู้ใช้ต้องไป download โปรแกรมมาติดตั้งฟรี เบอร์ที่ผมเคยใช้คือ 20449588
ปัจจุบันผู้คนหันไปใช้ MSN Messenger หรือ Yahoo Messenger
โปรแกรมนี้เคยเป็นสุดยอด แล้วทำไมเปลี่ยนไป
+
icq.com


9. IRC (Internet Relay Chat)
ในอดีต .. บริการนี้คนไทยทุกวัย ชอบกันมาก โดยเฉพาะโปรแกรม PIRC เพราะทำให้สามารถสนทนากับใครก็ได้ที่ใช้โปรแกรม PIRC การสนทนากระทำผ่านแป้นพิมพ์ โดยไม่จำเป็นต้องเห็นหน้า หรือรับผิดชอบต่อสิ่งที่พิมพ์ออกไป หญิงอาจบอกว่าตนเป็นชาย นักเรียนมัธยมอาจบอกว่าตนเป็นนางงาม เด็กตจว. อาจบอกว่ากำลังเรียนต่อแอลเอ เป็นต้น
ใน IRC มักแบ่งเป็นห้อง โดยมีชื่อห้องเป็นตัวระบุหัวข้อสนทนา หรือสื่อให้รู้กันในกลุ่ม เช่น "ห้องวิธีแก้เหงา" หากใครต้องการสนทนาถึงวิธีแก้เหงา เข้าไปในห้องนั้น หรือเข้าหลายห้องพร้อมกัน สามารถเลือกสนทนากับใครเป็นการส่วนตัว หรือจะสนทนาพร้อมกันทั้งกลุ่ม เมื่อสนทนากันถูกคอก็สามารถ ที่นัด Meeting ตามร้านอาหาร เพื่อนสร้างสัมพันธ์ที่ดีต่อกัน หรือนัดสนทนากันใหม่ในเวลาที่สะดวกสำหรับวันต่อไป จึงทำให้ทุกเพศทุกวัย ชื่นชอบที่จะใช้บริการนี้อย่างมาก โดยเฉพาะคนที่ยังไม่มีคู่ชีวิต
ปัจจุบันผู้คนหันไปใช้ Messenger หรือ Web Chat
โปรแกรมนี้เคยเป็นสุดยอด แล้วทำไมเปลี่ยนไป


10. Game Online
เกมส์กลยุทธหลายเกมส์ เป็นการจำลองสถานการณ์การรบ หรือการแข่งขัน ทำให้ผู้ใช้สามารถต่อสู้กับตัวละครในคอมพิวเตอร์ เสมือนคอมพิวเตอร์สามารถคิดเอง และสู้กับเราได้ แต่ก็ยังมีจุดบกพร่อง เพราะไม่เหมือนการสู้กับคนที่คิดเป็น และพูดคุยโต้ตอบได้ จึงมีการสร้างเกมส์ และบริการ ที่ทำให้ผู้ใช้ต่อสู้กัน หรือร่วมกันสู้ โดยจ่ายค่าลงทะเบียน เพื่อขอรหัสผู้ใช้เข้าเครื่องบริการ เพื่อการติดต่อสื่อสาร หรือทำภารกิจกับเพื่อนร่วมรบ ที่มีจุดมุ่งหมาย หรือชื่นชอบในเรื่องเดียวกัน เป็นบริการเพื่อความบันเทิงที่กำลังเติมโต อย่างรวดเร็วในโลกอินเทอร์เน็ต
และในอนาคต ผู้ที่เคยติดเกมจะได้เรียนรู้ว่า เขาน่าจะทำกิจกรรมอื่นมากกว่าติดเกม
+
asiasoft.co.th
+
siamcomic.com
+
barbie.com
+
ferryhalim.com
+
thaiall.com/games

11. Software Updating
มีโปรแกรมมากมายที่ใช้ประโยชน์จากการติดต่อสื่อสารผ่านอินเทอร์เน็ต และหนึ่งในนั้นก็คือ บริการปรับปรุงโปรแกรม แบบ Online เช่น โปรแกรมฆ่าไวรัส ที่มีชื่อเสียง เกือบทุกโปรแกรม หรือระบบปฏิบัติการอย่าง Microsoft ก็ยอมให้ผู้ใช้สามารถเข้ามา Download ข้อมูลไปปรับปรุงให้ทันสมัย เพื่อใช้ต่อสู้ไวรัสตัวใหม่ หรือแก้ไขจุดบกพร่องที่พบในภายหลัง ผู้ใช้เพียงแต่เลือก Click บนปุ่ม Update โปรแกรมจะทำหน้าที่เชื่อมต่อกับเว็บไซต์ของตน และทำงานเองจนการ update สมบูรณ์
+
clamwin.com แนะนำโดย thaiopensource.org
+
antivir.com
+
bitdefender.com


12. Palm หรือ PocketPC
Palm หรือ PocketPC นั้นต่างก็เป็น Organizer ยุคใหม่มีอีกชื่อหนึ่งว่า PDA (Personal Digital Assistant) ซึ่งถูกตั้งชื่อโดย Apple ตั้งแต่ปี 1990 แต่สมัยนั้นยังไม่สำเร็จ จึงมีการพัฒนาเรื่อยมา จนถึงปัจจุบัน
คอมพิวเตอร์ขนาดเล็ก ที่มีความสามารถสูงมาก เพราะสามารถพัฒนาโปรแกรม สั่งให้ palm ทำงานได้หลาย ๆ อย่าง ทำให้ความสามารถหลักด้าน organizer กลายเป็นส่วนประกอบไปเลย เพราะมีผู้พัฒนาโปรแกรมให้กับ palm มากทีเดียว คนไทยก็ทำครับ เพื่อให้ palm เข้าใจภาษาไทย และใช้ปากกาเขียนภาษาไทยให้ palm อ่านรู้เรื่องได้ทันที
Palm สามารถทำงานร่วมกับคอมพิวเตอร์ โดยมีการแลกเปลี่ยนข้อมูลกัน โดยผู้ใช้ palm สามารถเขียน mail ใน palm เมื่อต้องการส่งก็ upload เข้าคอมพิวเตอร์ที่ online กับ internet แล้ว คอมพิวเตอร์ก็จะทำหน้าที่ส่ง mail ให้อัตโนมัติ รวมถึงการรับ mail ใหม่เข้าไปใน palm ทำให้สามารถอ่าน mail จากที่ไหนก็ได้ แต่เป็นการทำงานแบบ offline ไม่เหมือนมือถือที่อ่าน mail ได้แบบ online แต่ palm ไม่ใช่มือถือครับ (
palm.com)
PocketPC คืออะไร
ผลจากปี 1998 เมื่อ Microsoft แนะนำ WindowCE ซึ่งทำงานกับ Palm-sized PC ซึ่งพยายามตี palm ให้แตก ด้วยการสร้างระบบปฏิบัติการ ที่เป็นมาตรฐานใหม่ บริษัทต่าง ๆ ที่สนใจจึงเริ่มผลิตสินค้า ที่ใช้ Windows CE โดยมีชื่อเรียกอุปกรณ์เหล่านี้ว่า PocketPC คอมพิวเตอร์ขนาดเล็กที่กำหนดมาตรฐานโดย Microsoft เจ้าเก่า(งานนี้ palm อาจต้องหนาว) ทำให้ PocketPC ที่ผลิดโดยบริษัทใดก็แล้วแต่ เช่น Compaq, Casio, HP เป็นต้น สามารถเปิดเว็บ พิมพ์ Word หรือ Excel ฟัง MP3 หรือแม้แต่ดูหนัง ก็ยังได้


13. WAP (Wireless Application Protocal)
WAP เป็นเทคโนโลยีที่ทำให้โทรศัพท์ สามารถเปิดเว็บเพจที่พัฒนาเพื่อโทรศัพท์มือถือตามมาตรฐาน WAP โดยเฉพาะ เช่น wopwap.com, siam2you.com, a-roi.com, mweb.co.th รุ่นของโทรศัพท์ในยุคแรกที่ให้บริการ WAP เช่น Nokia7110, Nokia9110i, EricssonR320, EricssonA2618, Alcatel OneTouch View WAP หรือ 300 family หรือ 500 family หรือ 700 family, MotorolaV8088 เป็นต้น เว็บที่มีข้อมูลเรื่อง wap เช่น wapinsight.com, wap-uk.com, waphq.com, wapjag.com, yourwap.com, waptastic.com เป็นต้น
ปัจจุบันเราไม่จำเป็นต้องเข้า Wap Website แต่เข้าเว็บไซต์โดยตรงผ่านบริการ GPRS (General Packet Radio Service) ใน GSM Mobile Phone [
wikipedia.org]

วันพุธ, กันยายน 13, 2549

หน้าที่และส่วนประกอบภายใน

หน้าที่และส่วนประกอบภายใน
อุปกรณ์ Input/ Output
เป็นส่วนที่เป็น Hardwre ที่สำคัญที่ทุกระบบคอมพิวเตอร์จำเป็นต้องมีเพื่อรับข้อมูลเข้าสู่ระบบและแสดงผลลัพธ์ให้ผู้ใช้มองเห็น
อุปกรณ์ที่ทำหน้าที่รับข้อมูลเข้าระบบคอมพิวเตอร์ เรียกว่า “Input device” อุปกรณ์ที่ทำหน้าที่แสดงผลลัพธ์ของระบบคอมพิวเตอร์ เรียกว่า “Output device”
อุปกรณ์ที่ทำหน้าที่เป็นตัวเชื่อมระหว่าง Inptut/Output device กับ CPU คือ “I/O Module”
เมื่อคอมพิวเตอร์จะแก้ปัญหาใดๆ ได้จำเป็นต้องมีโปรแกรมและข้อมูลป้อนเข้าสู่เครื่องคอมพิวเตอร์และหลังจากที่คอมพิวเตอร์ทำงานจนกระทั้งได้คำตอบแล้ว คอมพิวเตอร์จะส่งผลลัพธ์ให้ผู้ใช้โปรแกรมนั้นๆ รับหรือส่งข้อมูลผ่านหน่วยอินพุต/เอาต์พุต(Input/Output Unit) หรือเรียกสั้นว่า I/O
เมื่อ CPU จะมีการ รับ-ส่ง ข้อมูลให้กับอุปกรณ์ (I/O device) ต่างๆนั้น CPU จะต้องอ้าง Address ของอุปกรณต่างๆเหล่านั้น และการนี้ CPU จะต้องคอบควบอุปกรณ์เหล่านั้นอยู่ตลอดเวลา ก็จะทำให้เสียเวลา ซึ่ง CPU เองก็จะต้องทำงานอย่างอื่นอีกมากมาย ดังนั้นเมื่อ CPU ต้องการใช้อุปกรณ์ (I/O device) มันจะ Load โปรแกรมลงใน I/O Module ซึ่ง I/O Module นี้จะคอยควบคุมอุปกรณ์ต่างๆแทน CPU อุปกรณ์ต่างๆ (external Device) จะถูกควบคุมโดย I/O Module อีกทีหนึ่ง การอ้าง Address ของอุปกรณ์ I/O จะอ้างผ่านทางเส้นทาง Address Bus การรับส่งข้อมูลจะกระทำผ่านทาง Data Bus และการส่งสัญญาณการควบคุม การอ่าน-เขียน ข้อมูลจะกระทำผ่านทาง Control Bus
External device อุปกรณ์ต่าง (External device) จะควบคุมและแจ้งสถานะให้กับ I/O Module ผ่านเส้นทางสัญญาณควบคุมและสถานะ ส่วน Transducer จะเป็นตัวแปลงข้อมูลให้กับอุปกรณ์เนื่องจาก ข้อมูลจากภายนอก (External Environment) จะต้องแปลงเป็นข้อมูลที่เครื่องคอมพิวเตอร์รู้จัก ส่วน Buffer จะเป็นที่พักข้อมูลในระหว่างการรับ-ส่ง ข้อมูลผ่านทางอุปกรณ์ (External Device)
ภายใน I/O Module ภายใน I/O Module จะมี Register อยู่ 2 ประเภทคือ Data Register และ Status /Control Register ซึ่ง Status/Control Register จะเป็นที่ไว้เก็บโปรแกรมที่ส่งมาจาก CPU และส่งไปให้วงจร I/O logic เพื่อควบคุมการอ่าน-เขียนข้อมูล ลงในอุปกรณ์ I/O (I/O Device)
การอ่าน-เขียน ข้อมูลระหว่าง อุปกรณ์ I/O กับหน่วยความจำจึงสามารถทำได้ 3 วิธี คือ
1.Programmed I/O
2. Interrupt-Driven I/O
3. DMA (Direct Memory Access)

Programmed I/O
Programmed I/O
- เป็นการเขียนโปรแกรมสั่งงานให้อุปกรณ์ I/O อ่านหรือเขียนข้อมูล
- CPU จะต้องคอยตรวจสอบสถานะของ I/O Module เป็นช่วงเวลา ว่าพร้อมหรือไม่
- การตรวจสอบสถานะของ I/O Module จะกระทำทุกๆ Word ที่จะอ่านหรือเขียน
- CPU จะไปทำงานอย่างอื่นไม่ได้จนกว่าการอ่านหรือเขียนจะกระทำเสร็จสิ้น
- CPU จะทำงานช้าตามอุปกรณ์รอบข้าง

Programmed I/O: เป็นการอ่าน-เขียน ข้อมูล ระหว่าง I/O กับหน่วยความจำ ในวิธีการนี้เป็นการเขียนโปรแกรมสั่งงานให้อุปกรณ์ I/O อ่านหรือเขียนข้อมูล ซึ่งจะทำให้ Module ได้รับคำสั่งมาจาก CPU กล่าวคือ CPU จะควบคุมการทำงาน ของอุปกรณ์ I/O โดยตรง ซึ่ง CPU จะคอยตรวจสอบการทำงานของ I/O จนกระทั่งเสร็จ จึงจะสามารถทำงานอื่นให้ได้โดยที่เมื่อ อุปกรณ์ I/O ทำงานเสร็จ Status bit ของ I/O Module จึงจะเปลี่ยนการทำงานแบบ Programmed I/O นี้ CPU จะต้องคอยตรวจสอบ Status bit ของ I/O Module เป็นช่วงๆเวลาเนื่องจากความเร็วของการทำงานระหว่าง CPU กับ I/O แตกต่างกัน กล่าวคือ I/O จะทำงานช้ากว่า CPU ดังนั้นการทำงานแบบ Programmed I/O CPU จะต้องเสียเวลาในการรอคอย I/O มาก ทำให้การทำงานของระบบคอมพิวเตอร์ ไม่มีประสิทธิภาพเนื่องจาก CPU จะทำงานช้าตามอุปกรณ์รอบข้าง (Phipheral) แต่ก็มีข้อดีคือ การทำงาน แบบ Programmed I/O นั้น ใช้งานง่าย โดยการเขียนโปรแกรมส่งงานให้ Hardware ทำงานโดยตรง

การทำงานแบบ Programmed I/O ในการอ่านข้อมูล (Read) จาก I/O มาให้หน่วยความจำหลักมีขั้นตอนดังนี้
ขั้นที่ 1 CPU จะจ่ายคำสั่ง Read ให้กับ I/O Module เพื่ออ่านข้อมูลจาก I/O Device
ขั้นที่ 2 CPU จะคอยอ่านสถานะจาก I/O Module ว่าพร้อมหรือยังที่จะส่งข้อมูลให้กับ CPU ซึ่ง CPU จะคอยอยู่อย่างนั้นจนกระทั่ง I/O Module พร้อม นั่นก็หมายความว่า I/O Deviceจะต้องพร้อมมาก่อน หากว่า I/O device ไม่พร้อมอยู่นานเกินไป หรือมีข้อผิดพลาด ก็จะส่งสัญญาณบอกผู้ใช้ว่า มีข้อผิดพลาดเกิดขึ้น
ขั้นที่ 3 เมื่อ I/O Module พร้อม ข้อมูลจะส่งจาก I/O Module มาให้กับ CPU 1 ครั้งคือ 1 Word
ขั้นที่ 4 CPU จะเขียนข้อมูล word นั้นไปเก็บไว้ในหน่วยความจำหลัก
ขั้นที่ 5 จากนั้นโปรแกรมจะตรวจสอบดูว่าได้ อ่านข้อมูลมาครบทุก word หรือไม่ หากยังไม่ครบให้กลับไปทำขั้นที่ 1 ใหม่ จนครบทุก word เมื่ออ่านมาครบแล้ว CPU ก็จะทำงานคำสั่งถัดไป ของงานอื่นที่จากมาได้

Interrupt driven I/O

Interrupt driven I/O
- อินเตอร์รัพท์ คือ การขัดจังหวะการทำงาน CPU
- ช่วยลดเวลาของ CPU ที่จะต้องสูญเสียไปในการตรวจสอบอุปกรณ์ I/O
- การ Interrupt จะมีวงจรควบคุมระดับของการอินเตอร์รัพท์ ที่เรียกว่า Interrupt Controller

โดยทั่วไปแล้ว ระดับ 0 จะมีระดับความสำคัญสูงสุด
การใช้งาน Interrupt Controller อินเตอร์รัพท์ คือ การขัดจังหวะการทำงานของ CPU โดยที่อุปกรณ์ที่ร้องขอการขัดจังหวะมานั้น จะขอให้ CPU บริการงานให้ การอินเตอร์รัพท์ถือ ได้ว่าเป็นลักษณะการทำงานแบบหนึ่ง ที่มีความสำคัญมาก ในระบบคอมพิวเตอร์ เนื่องจากช่วยลดเวลาของ CPU ที่จะต้องสูญเสียไปในการตรวจสอบอุปกรณ์ I/O ว่ามีอุปกรณ์ใดบ้างที่ต้องการให้ CPU ทำงานให้บ้าง ซึ่งในระหว่างการตรวจสอบนี้ CPU สามารถไปทำงานอื่นได้ตามปกติ ดังนั้นการนำเอาวิธี การอินเตอร์รัพท์เข้ามาใช้ในระบบซึ่งเป็นการทำให้ CPU มีเวลาไปทำงานอย่างอื่นมากขึ้นด้วย โดยปกติการ Interrupt จะมีวงจรควบคุมที่เรียกว่า Interrupt Controller ตัว Interrupt Controller จะเป็นตัวจำลำดับความสำคัญสูงสุด และระดับ 7 จะมีความสำคัญต่ำสุด หากต้องการให้มีอินเตอร์รัพท์เกิดขึ้นกับ I/O หลายระดับ อาจจะใช้ Interrupt Controller ต่อพ่วงกัน

Interrupt driven I/O สมมติเป็นอ่านข้อมูลจาก I/O และ write ข้อมูลลงหน่วยความจำจะมีขั้นตอนการทำงานดังนี้

ขั้นที่ 1 CPU จะออกคำสั่ง Read ให้กับ I/O Module เสร็จแล้ว CPU ก็จะไปทำงานอย่างอื่น
ขั้นที่ 2 เมื่อ I/O พร้อมก็จะส่งสัญญาณ Interrupt มาให้กับ CPU CPU จะอ่านสถานะจาก I/O Module ว่าพร้อมหรือยัง
ขั้นที่ 3 CPU ตรวจสอบสถานะของ I/O Module ว่าพร้อมหรือยังไม่พร้อม หากไม่พร้อม ก็แจ้งสถานะ Error หากพร้อมก็จะทำงาน ขั้นตอนต่อไป
ขั้นที่ 4 CPU จะอ่าน Word จาก I/O Module
ขั้นที่ 5 จากนั้น CPU จะเขียน word ไปที่หน่วยความจำ
ขั้นที่ 6 ตรวจสอบว่าอ่านครบทุก Word แล้วหรือยัง หากยังให้กลับมาทำใน ขั้นตอนที่ 1 ใหม่ หากอ่านได้ครบทุก word แล้ว CPU ก็ไปอ่านคำสั่งถัดไปของงานที่จากมา


การตรวจสอบสนองของ CPU ที่มีต่อการ Interrupt
- Interrupt controller à CPU
- CPU à Interrupt คำสั่งปัจจุบันให้เสร็จ
- CPU à PSW
- Load Address ของ Program Interrupt
- เก็บ Process state ไว้ใน Stack
- CPU Execute Program Interrupt จนเสร็จ
- นำ Process state จาก Stack กลับมาที่ CPU
- นำ PSW และ PC Address จาก Stack กลับ มาที่ CPU แล้วจึงไปทำงานคำสั่งถัดไป


การตอบสนองของ CPU ที่มีต่อการ Interrupt: การตอบสนองของ CPU ต่อการ Interrupt ในการขอ Interrupt จากอุปกรณ์ I/O โดยการร้องขอให้ CPU ทำงานให้นั้น ในมุมมองของ CPU ที่ตอบสนองต่อการ Interrupt สามารถกำหนดได้เป็นขั้นตอนโดยขั้นตอนที่ 1 ถึง 5 เป็นส่วนของ Hardware และขั้นตอนที่ 6 ถึง 9 เป็นส่วนของ Software ดังนี้


ในส่วนของ Hardware
ขั้นที่ 1 อุปกรณ์ Controller จะจ่ายสัญญาณ Interrupt ไปให้กับ CPU
ขั้นที่ 2 CPU จะ Execute คำสั่งปัจจุบันให้เสร็จ
ขั้นที่ 3 CPU จะส่งสัญญาณ Interrupt Acknowledge ตอบรับไปยัง Interrupt Controller
ขั้นที่ 4 CPU จะเก็บค่า PSW (Program Status Word) และ PC ไว้ในControl Stack
ขั้นที่ 5 จากนั้น CPU จะ Load ค่าใหม่ให้กับ PC ซึ่งเป็น Address ของ Program Interrupt จากนั้นจะเป็นการทำงานทาง Software

ในส่วนของ Software
ขั้นที่ 6 จากนั้นก็จะเก็บค่า Process state ต่างๆ ที่เหลือไว้ใน Stack
ขั้นที่ 7 CPU ก็จะทำงานหรือ Execute Program Interrupt จนกระทั่งเสร็จสิ้น
ขั้นที่ 8 จะนำค่า Process state กลับมาที่ CPU
ขั้นที่ 9 จะนำค่า PSW และ PC เดิมกลับมาที่ CPU เป็นการสิ้นการให้บริการ Interrupt และ CPU ก็จะไปทำงานต่อจากงานเดิม

การเปลี่ยแปลงค่าต่างๆ ใน Memory และ Register ต่อการ Interrupt การเปลี่ยนแปลงค่าต่างๆใน Memory และ Register ต่อการ Interrupt ขณะที่ CPU รันโปรแกรมไปถึง Address ที่ N และเกิดมีการ Interrupt เกิดขึ้น ค่าของ PC จะเป็น Address ที์ N+1 เมื่อ CPU execute คำสั่งปัจจุบันเสร็จ ก็จะเก็บค่าสถานะต่างๆใน Register ไปเก็บไว้ที่ Control Stack พร้อมทั้งเก็บค่าที่ PC ปัจจุบันคือค่า Address N+1ไว้ใน Stack ด้วยจากนั้น PC จะ load ค่า Address ของโปรแกรม Interrupt เข้ามา พร้อมทั้ง execute program Interrupt จนกระทั่งเสร็จสิ้น Program Interrupt นั้น นั่นก็คือ คำสั่งสุดท้ายของโปรแกรมคือ Return เมื่อเสร็จสิ้นโปรแกรม Interrupt PC จะ load ค่า Address N+1 ที่เก็บไว้ใน Stack แต่เดิม ซึ่งก็คือ Address ของคำสั่งถัดไป ก่อนที่จะถูกและ load ค่าสถานะข้อมูล ที่เก็บไว้ใน Stack กลับมาที่ CPU จากนั้น CPU ก็จะ execute คำสั่งต่อไป

การทำงาน Interrupt controller
- Multiple Interrupt at the same time
- กำหนด priority ให้กับ device ที่ขอ Interrupt มา
- Device Interrupt à IRR
- Interrupt Controller à INT
- CPU à INTA
- Interrupt controller à ISR Reset IRR Vector table
- CPU à PC Status ไว้ใน Stack
- Execute Program Interrupt จนจบ
- CPU execute งานเดิมต่อจากการถูก Interrupt
การทำงานของ interrupt controller : หากมีการขอ interrupt มาที่ CPU หลายๆ Interrupt พร้อมๆ กันCPU จะมีวิธีการอย่างไร ให้บริการ device หรืออุปกรณ์ใดก่อน ในทางปฏิบัติแล้ว จะให้ตัวควบคุมการ interrupt คือ interrupt controller ซึ่งเป็นตัวจัดการระดับความสำคัญ ของแต่ละ device ซึ่ง device
ต่างๆ จะขอ Interrupt มาทาง IRR0-IRR (interrupt Request Channel 0-7) เมื่อ interrupt
Controller ได้รับสัญญาณ จาก device แล้วก็จะset bit IRR (interrupt request register) สัมพันธ์กับ device ที่ขอมา หากมีการขอ interrupt มากกว่า 2 channel พร้อมๆกัน วงจร Priority Resolver
ก็จะเปรียบเทียบว่า Channel ใดมีลำดับความสำคัญสูงกว่า ก็จะให้ channel นั้นส่งสัญญาณ INT ไปให้
CPU ได้รับสัญญาณ INT ไปให้ CPU หลังจาก CPU ได้รับสัญญาณ INT แล้ว CPU จะตอบสนองโดยส่งสัญญาณ INTA (Interrupt Acknowledge) กลับมาให้ interrupt controller เพื่อมา set bit ให้
ISR (Interrupt Service Register) ตรงกับ Channel ที่ได้รับการตอบสนองเป็น high เพื่อบอกว่า
Channel ใดได้รับการตอบสนองอยู่ และ reset bit IRR ที่ตรงกับ Channel นั้นให้เป็น Low หลังจากนั้น
Interrupt Controller ส่ง Vecter Table (เก็บ Address ของ Program Interrupt ) ออกมาบนdata bus เพื่อให้ CPU เปิดตาราง vecter เพื่อหาตำแหน่ง address เริ่มต้นของโปรแกรม Interrupt ซึ่ง Interrupt Vecter ของแต่ละ device ที่ขอ interrupt มา หลังจาก CPU คำนวณค่า Address เริ่มต้นของโปรแกรม Interrupt เรียบร้อยแล้ว CPU ก็จะเก็บค่า ใน PC และ สถานะต่างๆ ไว้ในหน่วยความจำที่เรียกว่า
Stack จากนั้น CPU Execute Program Interrupt จนกระทั้งเสร็จสิ้น

Direct Memory Access I/O
DMA Function
- I/O Module à Controller
- DMA Controller à ควบคุมการเขียนและอ่านข้อมูล
- การเขียนและอ่านข้อมูลกระทำทีละ Block
- Cycle Stealing


DMA function : ถึงแม้ว่า interrupt driven i/o จะมีประสิทธิภาพมากกว่า Programmed I/O แต่ก็ยังพึ่งพาการทำงานของCPU ในการ transfer data ระหว่างหน่วยความจำและ i/o module ซึ่งการ transfer data ข้อมูลของ i/o จะถูกจำกัดด้วยความเร็วของ CPU ที่จะให้บริการกับ Device นั้นๆ และในขณะที่ CPU ยังอยู่กับการจัดการ I/O เพื่อ transfer ข้อมูล CPU จะต้องคอยตรวจสอบ i/o แต่ละครั้งที่ transfer data ว่า I/O พร้อมหรือยัง นั่นหมายความว่าทุกๆ word
ที่จะมีการ transfer หากมีการtransfer ข้อมูลจำนวนมาก ( block of data ) จะให้เสียเวลาหากใช้Programmed I/O หรือ interrupt driven I/O ดังนั้นหากมีการtransfer data จำนวนมาก จะใช้เทคนิคที่เรียกว่า DMA ( direct memory access ) โดยให้ i/o module ซึ่งก็คือ DMA Controller ทำหน้าที่ควบคุม การเขียนและอ่านข้อมูลระหว่างอุปกรณ์ i/o และ main memoryซึ่งการเขียนและอ่านข้อมูลจะกระทำทีละ block
DMAflowchart เมื่อ CPU ต้องการจะอ่านข้อมูลจากอุปกรณ์ i/o cpu จะจ่ายคำสั่งRead ไปให้ I/O mudule ซึ่งในที่นี้คือ DMA controller แล้ว CPU ก็ไปทำงานอื่น ปล่อยให้ DMA ทำอ่านข้อมูลจากอุปกรณ์ และเขียนข้อมูลลงในหน่วยความจำ จนกระทั่งครบ Word DMA controller ก็จะแจ้ง CPU ว่า transfers data เรียบร้อยแล้ว CPU จะไปทำงานในคำสั่งถัดไปจากรูป DMA ระหว่าง instruction cycle ใน OS . แบบ multiprogramming ขณะที่ CPU ทำงานไป fetch คำสั่งมาจากหน่วยความจำ DMA controller จะร้องขอ CPU เพื่อทำ DMA ก่อนเมื่อ DMA controller ควบคุมการ transfer data ได้ 1 word หรือ 1 block ก็จะคืนอำนาจควบคุมให้กับ CPU แล้ว CPU ก็จะทำงานต่อไปและเมื่อ CPU และเมื่อ CPU จะ fetch operand มาจากหน่วยความจำอีก DMA controller จะร้องขอ CPU เพื่อขอทำ DMAก่อนอีก และเมื่อ DMA controllerควบคุมการ transfer ข้อมูลได้ 1 word หรือ 1 block ก็จะคืนอำนาจการควบคุม ให้กับ CPU แล้ว CPU ก็จะทำงานต่อไป สรุปก็คือเมื่อ CPU จะอ้าง address หน่วยความจำเมื่อใด DMA controller จะแย่ง cycle การทำงานของ CPUทันที ลักษณะการแย่ง cycle ของ CPU เรียกว่า cycle stealing

DMA Module
- DMA Module DMA Controller
- DMA Controller à ควบคุม bus แทน CPU เมื่อทำงาน
- Information CPU DMA Controller
- ด้วยการ read หรือ write
- Address ของ i/o device
- Address ของหน่วยความจำเริ่มต้นจะอ่านหรือเขียน

DMA Module : DMA เป็น module ที่เกี่ยวข้องกับ system bus โดยที่ DMA module มีความสามารถ ในการจำลองการทำงานของ CPU ซึ่งสามารถควบคุม bus แทน CPU ได้ เมื่อ CPU ต้องการจะ read หรือ write data เป็นจำนวนมาก CPU จะส่งข่าวสารไปให้ DMA module ดังนี้
ข่าวสารที่ 1 ต้องการ read หรือ write
ข่าวสารที่ 2 ต้องการ address หรือ i/o device
ข่าวสารที่ 3 ต้องการ address ของหน่วยความจำที่จะทำการอ่านหรือเขียน
ข่าวสารที่ 4 จำนวนword ที่จะทำการอ่านหรือเขียน

DMA module เมื่อใดที่ CPU ต้องการจะให้ DMA ทำการ transfer ข้อมูลเป็น block ระหว่าง i/o กับหน่วยความจำ CPU จะต้องส่ง command word มาให้ DMA controller
( ซึ่งก็คือ DMA module นั่นเอง ) ว่าจะเป็นการread หรือ write ข้อมูลลงหน่วยความจำ
สัญญาณ write ที่ส่งมาให้ DMA controller หมายความว่าให้ DMA controller รับ command word ที่ส่งมาจาก CPU มาเก็บไว้ที่ data register และหาก CPU ต้องการดูสถานะจาก DMA Controller ที่จะส่งสัญญาณ read มาให้ DMA controller เพื่อให้ DMA controller บอกสถานะให้ CPU รู้ว่า DMA controller อยู่ในสถานะใด เช่น พร้อมหรือไม่ เช่นส่ง command word และอ่านสถานะของ DMA controller เมื่อ DMA controller พร้อมก็จะขอ DMA Request เพื่อขอทำ DMA มาที่ CPU เมื่อ CPU ทราบและอนุญาตให้ทำ DMA ได้ก็จะตอบรับ โดยส่งสัญญาณตอบรับเป็น DMA ACK มาที่ DMA controller และมอบอำนาจการควบคุม bus ต่างๆ ให้กับ DMA controller

การทำงานของ DMA controller หลังจากCPU ส่งโปรแกรม ให้กับ DMA controller สมมติเป็นการอ่านข้อมูลจาก i/o device แล้วเขียนข้อมูลลงในหน่วยความจำ device จะร้องขอทำ DMA โดยส่งสัญญาณ DREQ ( DMA request ) มาที่ DMA controller จะทราบว่าเป็นอุปกรณ์ใดที่ขอมา หากตรงกับที่ CPU สั่งมา ก็จะส่งสัญญาณ ขอทำ DMA โดยส่งสัญญาณ HRQ (Hold Request ) ไปให้ CPU เพื่อขอควบคุม bus แทน CPU พร้อมที่จะให้ DMA controller ควบคุม Bus แทนก็จะส่งสัญญาณตอบรับไปที่ DMA controller คือ H.I.D.A (Hold Aeknowlege) จากนั้น CPU ก็จะตัดขาดการควบคุม bus สวิตซ์ ก็ตกลงมาด้าน bus ส่วนต่างๆ ขณะควบคุม โดย DMA Controller จากนั้น DMA Controller รอส่งสัญญาณ DACK

(DMA Acknowledges) เพื่อบอกให้ device ทราบจากระบบ DMA Controller จะส่งสัญญาณ IOR ไปให้ device ส่งข้อมูลมาวางไว้บน data bus จากนั้น DMA Controller จะส่ง Address ไปชี้ตำแน่งของหน่วยความจำ แล้วส่งสัญญาณ MEMW ไปที่หน่วยความจำ เพื่อให้หน่วยความจำนำข้อมูลที่วางอยู่บน Data bus ไปเก็บ จนกระทั่ง DMA Controller ทำการ Transfer ข้อมูลจนครบจำนวน word ที่จะทำการ Transfer ซึ่งในการ Transfer ข้อมูลที่ DMA Controller จะไม่นำข้อมูลมาเก็บไว้ที่ตัว DMA Controller เอง เพียงแต่นับจำนวน word ที่ได้ transfer ข้อมูลไปแล้วจนกระทั่งครบ จึงส่งสัญญาณ Terminal Count ให้กับ CPU เพื่อบอกการคืนอำนาจการควบคุม Bus ต่างๆ ให้กับ CPU สวิตซ์ก็จะกลับไปต่อด้านอย่างเดิม
รูปแบบการใช้ DMA
- Single-Bus Detached DMA
- Sing-Bus Integrated DMA-I/O
- I/O


รูปแบบการใช้ DMA
-Single Bus Detached DMA รูปแบบนี้จะใช้ Bus ชุดเดียวใช้ร่วมกันทั้ง I/O device DMA Controller หรือ DMA Module CPU และหน่วยความจำ ซึ่ง DMA Controller จะแยกออกเป็นอิสระจาก I/O device เลย
-Single Bus Integrate DMA I/O รูปแบบนี้จะใช้ Bus เพียงชุดเดียวเหมือนกันแต่จะมี I/O device หลาย device ต่อรวมอยู่ที่ DMA Controller
-I/O Bus รูปแบบนี้จะใช้ Bus 2 ชุด ชุดแรกคือ system Bus ในขณะที่ system Bus นั้นใช้เชื่อมต่อกันระหว่าง CPU DMA Controller และ Memory ส่วน I/O จะเชื่อมต่อ I/O device หลายๆ device โดยผ่านทาง I/O Bus จากนั้นก็จะเชื่อม I/O Bus เข้ากับ DMA Controller เพื่อควบคุม I/O device เหล่านั้น
การเชื่อมต่ออุปกรณ์ภายนอก (External Interface)
I/O Interface Adapters
-Parallel VS serial data transfer
-Data format conversions
Transfer rates
ตัวอย่าง เช่น RS-232 serial ports Game ports High speed I/O busses ซึ่งจะสนับสนุนหน่วยความจำขนาดใหญ่และอุปกรณ์ Multimedia
I/O transfer Adapter: เครื่องมโครคอมพิวเตอร์ส่วนมากจะสนับสนุน I/O ชนิดทั้งแบบขนานและแบบลำดับ อุปกรณ์ I/O ที่ส่งข้อมูลครั้งละ 1 byte หรือมากกว่าเรียกว่า parallel I/O เช่น disk และเครื่องพิมพ์ เป็นต้น อุปกรณ์ I/O ที่ใช้การส่งข้อมูลแบบ serial I/O จะส่งข้อมูลครั้งละ 1 bit ทางสายข้อมูลเพียงสายเดียว ตัวอย่างเช่น การใช้เครื่องไมโครคอมพิวเตอร์ติดต่อกันทางไกลโดยสายโทรศัพท์ ซึ่งเป็นการส่งข้อมูลแบบลำดับหรืออนุกรมโดยใช้ Modem การเชื่อมต่อภายนอกกับ I/O Module (External Interface) จะต้องเป็นไปตามธรรมชาติการทำงานของอุปกรณ์นั้นๆ ซึ่งการเชื่อมต่อจะต้องเกี่ยวข้องกับคุณลักษณะดังต่อไปนี้
-จะขนถ่ายข้อมูลแบบขนานหรืออนุกรม (Parallel or Serial data transfer)
-การแปลงรูปแบบข้อมูล (Data format conversion)
-อัตราการถ่ายข้อมูล (Transfer rates)
-จำนวนของอุปกรณ์ที่สามารถต่อพ่วงได้ (Number of device supported)

ตัวอย่างเช่น
-RS-232 serial ports
-Game ports
-High speed I/O ที่ใช้ได้ทั้ง 2 แบบ โดยแต่ละ I/O Interface จะมีวงจรถอดรหัส Address เฉพาะเพื่อกำหนด I/O port Address ของตนเอง
Programmable Interface Adapters
-รับส่งข้อมูลได้ครั้งละมากกว่า 1 bit
-การติดต่อสื่อสารแบบ Handshaking
Output protocol for PPI
-เป็นรูปแบบการส่งข้อมูลแบบขนานไปให้ Output device
-INT = False หมายถึง PPI ไม่ได้ร้องขอการขัดจังหวะ
-OBF = False หมายถึง Output buffer ยังไม่เต็ม
-ACK = False หมายถึง การตอบรับว่ายังไม่ได้รับข้อมูล
Programmable Interface Adapters ในส่วนนี้จะกล่าวถึงการทำงานของ 8255 PPI (8255 Programmable Parallel Interface) จากรูป Block Diagram 8255A PPI ซึ่งแสดงการทำงานครบทั้งระบบ I/O ภายใน 8255 PPI มีรีจีสเตอร์ 4 ตัว ดังนี้ รีจีสเตอร์ควบคุม 1 ตัว อีก 3 ตัวเป็นรีจีสเตอร์ข้อมูลสำหรับแต่ละ port ซึ่งมี 3 port รีจีสเตอร์ข้อมูลจะเก็บพักข้อมูลเพื่อส่งไปให้ I/O device หาก CPU ถูกโปรแกรมให้ส่งข้อมูลไปให้ Output device หรือพักข้อมูลที่มาจาก I/O device หาก CPU ถูกโปรแกรมให้รับข้อมูล ส่วน Control Register จะเป็นตัวกำหนดรูปแบบของการทำงานระบบ 8522A โดยการเขียนค่าต่างๆ เข้าไปใน Control register เมื่อ CPU Execute คำสั่ง IN หรือ OUT ชึ่งเลือก PPI และเลิก register ใด ที่จะ Access
การติดต่อสื่อสารแบบขนานที่ใช้รูปแบบ Handshaking การจับมือเขย่าเป็นรูปแบบการควบคุมการไหลของข่าวสารระหว่าง Processor เมื่ออุปกรณ์หนึ่งต้องการที่จะส่งข้อมูลไปให้อีกอุปกรณ์หนี่ง ซึ่งจะต้องขออนุญาตก่อน เมื่ออุปกรณ์ให้อนุญาต จึงจะส่งข้อมูงนั้นไปให้ได้ และเมื่ออุปกรณ์ที่รับข้อมูลได้รับข้อมูลเรียบร้อยแล้วก็จะแจ้งให้ทราบว่าได้รับแล้ว (Acknowledge) ซึ่งเป็นกฎเกณฑ์ที่ใช้เช่นเดียวดังที่ใช้ในผู้คนทั่วๆ ไปและ 8255A PPI ในรูปแบบนี้เช่นเดียวกัน
Output Protocol for PPI (จากรูป Output protocol for PPI) เราจะมาดูการทำงานของ CPU โดยมีความหมายของสัญญาณเริ่มต้นดังต่อไปนี้ INT = false หมายถึง PPI ไม่ได้ร้องขอการขัดจังหวะ OBF = false หมายถึง Output buffer ยังไม่เต็ม และ ACK = false หมายถึงการตอบรับว่ายังไม่ได้รับข้อมูลเมื่อ CPU execute คำสั่ง Out มันจะส่งข้อมูลที่อยู่ใน AL รีจีสเตอร์ไปให้ PPI PPI จะอ่านข้อมูลโดยอัตโนมัติ แล้วส่งข้อมูลนั้นไปให้ I/O device โดยที่ PPI จะส่งสัญญาณ OBF = true ไปบอกให้ I/O device ทราบว่าข้อมูลที่ส่งมานี้ถูกต้อง (valid) และ I/O device ก็จะอ่านข้อมูลเข้ามาที่ตัวเอง และ set ให้สัญญาณ ACK เป็น true บอกให้ PPI ทราบว่าได้รับข้อมู,นั้นแล้ว ต่อจากนั้น PPI อาจจะเปลี่ยนค่าต่างๆ ใน register และ PPI จะแจ้งให้ CPU ทราบว่า มันพร้อมที่จะส่งข้อมู,ไปได้อีกโดยส่งสัญญาณ INT = true อีกครั้ง สามารถสรุปเป็นขั้นตอนได้ดังนี้
1. CPU execute คำสั่ง OUT และส่งค่าข้อมูล AL ไปให้ PPI
2. PPI อ่านข้อมูลนั้น
3. PPI ส่งข้อมูลนั้นไปให้ I/O device
4. PPI Set OBF เป็น true เพื่อบอกให้ I/O device ทราบว่ามีข้อมูลและถูกต้อง(valid)
5. I/O device อ่านข้อมูลเมื่อ OBF เปลี่ยนสถานะจาก false เป็น true
6. I/O device Set ACK เป็น true เพื่อบอกให้ PPI ทราบว่าได้รับข้อมูลแล้ว
PPI ส่งสัญญาณ INT เป็น true เพื่อบอกให้ CPU ว่าพร้อมการส่งข้อมูลต่อไป

Input protocol for PPI
- เป็นรูปแบบการอ่านส่งข้อมูลแบบขนานจาก device มาที่ CPU
- IBF = False หมายถึง Input buffer ยังไม่เต็ม
- STB = False หมายถึง สัญญาณ Strobe ที่เปลี่ยนจาก true เป็น false ซึ่งกำหนดจุกเริ่มต้นการรับส่งข้อมูล
- INT = False หมายถึง การตอบรับว่ายังไม่ได้รับข้อมูล
Input protocol for PPI: เมื่อ CPU ต้องการอ่านข้อมูลจาก device โดย CPU execute คำสั่ง IN จะทำให้ PPI Clear buffer และ Set INT ให้ IBF เป็น False โดยปกติแล้ว CPU จะส่งโปรแกรมมาให้ PPI ว่าจะอ่านข้อมูลจาก I/O device จากนั้นจึงเริ่มต้นด้วยการที่ PPI จะส่งสัญญาณ IBF = False ซึ่งหมายถึง Input buffer ยังไม่เต็ม และ I/O device ก็จะส่งสัญญาณ STB = true (Strobe Input) หมายถึงเมื่อ STB เปลี่ยนจาก true เป้ฯ false PPI จะเริ่มต้นอ่านข้อมูลเข้ามา ทันทีที่ I/O device ได้รับข้อมูลมันจะส่งสัญญาณนั้นมาให้ PPI ทางOutput port ของมัน จากนั้นมันจะส่งสัญญาณ STB = false เพื่อบอกให้ PPI อ่านข้อมูลเข้ามาเก็บไว้ PPI จะอ่านข้อมูลเก็บทันที


และ Set สัญญาณ IBF=True เพื่อบอกให้ I/O device ทราบว่าตอนนี้ยังไม่พร้อมที่จะรับข้อมูลและ I/O device จะต้องไม่ส่งข้อมูลมาให้อีกจนกระทั่ง PPI ส่งสัญญาณ IBF=false จากนั้น PPI จะแจ้งให้ CPU ทราบว่ามีข้อมูล จะส่งมาให้โดยส่งสัญญาณ INT (Set INT=True) CPU จึงอ่านข้อมูลเข้าไปเก็บไว้ในรีจิสเตอร์ AL โดยสามารถสรุปเป็นขั้นตอนได้ดังนี้
1. I/O device ส่งข้อมูลมาให้ PPI
2. I/O device Set สัญญาณ STB=false เพื่อบอกให้ PPI อ่านข้อมูลเข้าไปเก็บไว้
3. PPI อ่านข้อมูลเข้ามาและ Set สัญญาณ IBF=true
4. PPI จะแจ้ง CPU ว่ามีข้อมูลที่จะส่งให้ โดยส่งสัญญาณ INT
5. CPU อ่านข้อมูลเข้า มาที่รีจิสเตอร์ AL ในCPU
เทคนิคการรับส่งข้อมูลแบบลำดับของ Serial I/O
- เป็นการรับ-ส่งข้อมูลแบบลำดับ
- Baud rate
- Mark bit
- Data bit
- Parity bit
- Stop bit
เทคนิคการรับส่งข้อมูลแบบลำดับของ Serial I/O :อุปกรณ์ต่างๆ ที่จำเป็นต้องส่งข้อมูลลำดับ อย่างเช่น Modem หรืออุปกรณ์อื่น ๆ จำเป็นต้องมีวงจรเชื่อมต่อที่แปลงจากรูปแบบการส่งข้อมูลแบบขนานเป็นการส่งแบบลำดับ หรือในทางกลับกันโดยปกติแล้วอุปกรณ์ส่งที่ส่งสัญญาณ True จะหมายถึงแรงดันสูงไปบนสายส่ง ขณะที่ไม่ส่งสัญญาณอะไรจะหมายถึง Idle สัญญาณที่ส่งไปจะเป็นบิต โดยมีช่วงเวลาที่แน่นอนที่เรียกว่า “Bit time” สัญญาณ False จะหมายถึงการส่งแรงดันที่เป็นศูนย์ หรือเรียกว่า “Zero bit” อัตราการส่งข้อมูล จะหมายถึงจำนวนการเปลี่ยนแปลงของแรงดันใน 1 วินาที หรือเรียกว่า “Baud rate” หรือเทียบเท่าได้เท่ากับจำนวนบิตที่อุปกรณ์ส่งข้อมูลส่งค่าใน 1 วินาที บิตแรกที่อุปกรณ์ส่งไปจะเรียกว่า “Mark bit” ซึ่งเป็นบิตที่บอกให้เครื่องรับ (อุปกรณ์ที่รับ) รู้ว่าจะเริ่มการรับส่งข้อมูลมาแล้ว หลังจากนั้นอุปกรณ์ส่ง จะส่งข้อมูลซึ่งเป็นบิตข้อมูล เช่น จำนวนที่แน่นอน ตามรูป Serial data Transmission นั้น Data bit มีจำนวนเท่ากับ 7 bit หลังจากนั้นจะส่งอีก 1 bit เรียกว่า “Parity bit” ซึ่งอุปกรณ์รับนั้นจะใช้ parity bit เพื่อตรวจสอบความถูกต้องของการส่งข้อมูล หลังจากนั้นอุปกรณ์ส่งจะส่งบิตสิ้นสุด (Stop bit) จำนวนหนึ่งเพื่อบอกให้อุปกรณ์รับ ทราบว่าสิ้นสุดการส่งข้อมูล 1 ชุด
8250 Universal Asynehronouse Receiver- Transmitter (UART)
-RTS(Request permission to send)
-CTS(Clear to send)
-DTR(Data terminal ready)
-DSR(Data set ready)
-Sin(Serial data input)
-Sout(Serial data output)
-RI(Ring indieator)
-RLSD(Received line signal detect)
8250 Universal Asynehronouse Receiver- Transmitter (UART) วงจร 8250 UART ออกแบบมาเพื่อเชื่อมโยงระหว่างเครื่องคอมพิวเตอร์กับ I/O device เช่น Modem หลังจากนั้น Modem จะแปลงสัญญาณดิจิตอลไปเป็นสัญญาณเสียง แล้วส่งออกไปตามสายโทรศัพท์และ ในทางกลับกัน 8250 UART มีสัญญาณควบคุม 8 เส้นที่ควบคุมการเชื่อมโยงไปยัง BUS สัญญาณที่อ่าน Input มี 4 สัญญาณ ซึ่งทำให้ 8250 UART รับ Input หรือส่ง Data ออกไป Output สัญญาณแรก คือสัญญาณควบคุมที่ให้ 8250 UART เลือก Address ของตัวมันเอง คือสัญญาณ Chip scleet สัญญาณ Oupput 2 เส้นจะแจ้งอุปกรณ์ภายนอก เมื่อ CPU เลือก 8250 UART และเมื่อ CPU อ่านข้อมูลของ 8250 UART 8250 UART จะใช้สัญญาณ Interrupt เป็น Outputเพื่อร้องขอการขัดจังหวะของ CPU
สาย 8 เส้นนี้จะใช้เพียง 6 เส้น เพื่อควบคุบการสื่อสารระหว่าง 8250 UART กับ Serial I/O device ซึ่งในที่นี้จะใช้ Modem มาอธิบายโดยสัญญาณทั้ง 6 มีดังนี้
RTS(Request permission to send) เป็นสัญญาณ Output บอกให้ Modem ทราบว่า 8250 UART มีข้อมูลพร้อมที่จะส่ง
CTS(Clear to send ) เป็นสัญญาณ Input มาจาก Modem เพื่อบอกให้ 8250 UART ทราบว่าให้ส่งข้อมูลมาได้
DTR(Data terminal ready ) (Data terminal คืออุปกรณ์ที่ใช้สำหรับรับหรือส่งข้อมูล)
เป็นสัญญาณ Output ที่บอก Modem ว่า 8250 UART พร้อมที่จะรับข้อมูล
DSR(Data set Ready) (Data setคือโครงสร้างข้อมูลสำหรับไว้เก็บข้อมูลในหน่วยความจำ) เป็น Input ของ 8250 UART ที่มาจาก Modem ที่บอกว่า Modem มีข้อมูลพร้อมที่จะส่งมาให้
Sin เป็นสัญญารข้อมูลรับมาจาก Modem
Sout เป็นสัญญารข้อมูลที่จะส่งไปให้ Modem
RT(Ring Indicator) หมายความว่า Modem ได้ตรวจพบสัญญาณเรียกเข้า
RLSD(Received line signal deteet) หมายความว่าการติดต่อสื่อสารระหว่าง 8250 UART กับ Modem จะกระทำในลักษณะ Handshake
ในที่นี้ 8250 UART จะทำหน้าที่เป็น Data terminal ส่วน Modem ทำหน้าที่เป็น Data set สมมติว่า Modem มีข้อมูลจะส่งให้กับ 8250 UART มันจะทำการติดต่อกันทาง Analog และเมื่อ 8250 UART มีข้อมูลที่จะส่งให้ Modem มันจะต้องขออนุญาต Modem ก่อนโดย ส่งสัญญาน RTS=true โดยมีคำสั่งดังนี้ สัญญาณ RTS จะบอก Modem ว่า 8250 UART พร้อมที่ จะส่ง ข้อมูลและเมื่อ Modem พร้อมที่จะรับข้อมูลมันจะส่งสัญญาร DSR=true มาให้ 8250 UART เพื่อจะแจ้งให้ทราบว่าพร้อมที่จะรับข้อมูล หลังจากนั้น 8250 UART ก็จัดส่งข้อมูลไปบนสายส่งข้อมูลแบบลำดับ(Serial output port (SOUT)) โดยปกติแล้วข้อมูลส่งไปตามลำดับทีละ byte Frame ซึ่งจะประกอบด้วยข้อมูล 1 Byte และมี Start Parity และ Stop bit เมื่อ 8250 UART ไม่มีข้อมูลที่จะส่งอีกต่อไป มันจะส่งสัญญาณ DTR= False และถ้าในระหว่างการส่งข้อมูลแล้ว Modemไม่สามารถรับข้อมูลได้ Modem ก็จะส่งสัญญาณ DSR=False เพื่อบอกให้ 8250 UART โดยการส่งข้อมูลมาให้ (ใช้คำสั่ง Out) กับ 8250 UART ไว้ในรีจิสเตอร์ควบคุม CPU จะกำหนดสถานะให้กับ8250 UART โดยการอ่านค่าสถานะ มาจาก รีจิสเตอร์สถานะของ 8250 UART รีจิสเตอร์ควบคุมตัวหนึ่งจะควบคุมสัญญาณนาฬิกาการส่งและการรับรีจิสเตอร์ควบคุมตัวที่สองจะควบคุม Parity จำนวนของ Stop bit และจำนวนของบิตข้อมูล รีจิสเตอร์สถานะ จะเก็บค่าสถานะของการส่ง(Full receive data register Empty transmit data register Framing error Parity error overrun error etc.) กล่าวได้ว่า รีจิเตอร์ควบคุมของ8250 UART จะควบคุมสถานะของสัญญาณ Output handshake ส่วนรีจิสเตอร์สถานะของ 8250 UART จะบอกสถานะของตนเอง เมื่อCPU ได้อ่านไป จะให้สถานะของสัญญาณ Input handshake

สรุปเนื้อหา
อุปกรณ์ Input/Output เป็นอุปกรณ์ที่สำคัญของระบบคอมพิวเตอร์ ที่ทำให้ผู้เขียนโปรแกรมหรือผู้ใช้โปรแกรมรับหรือส่งข้อมูลได้ แต่การที่อุปกรณ์ อุปกรณ์ Input/Outputจะรับหรือส่งข้อมูลได้นั้นจะต้องผ่านอุปกรณ์ที่เป็นตัวกลางในการควบคุมการรับส่งข้อมูลเหล่านั้น นั่นก็คือ I/O Module ดังนั้นเมื่อจะเขียนหรืออ่านข้อมูลนั้นจึงต้องผ่าน I/O Module นี้ และการเขียนและอ่านข้อมูลจะกระทำระหว่าง หน่วยความจำหลัก และอุปกรณ์ Input/ Output เนื่องจาก CPU มีหน่วยความจำอยู่อย่างจำกัด การเขียนและอ่านข้อมูลระหว่าง หน่วยความจำหลัก และอุปกรณ์ Input/Output จะกระทำได้ 3 วิธีคือ
1. Programmed I/O
2. Interrupt driven I/O
3. DMA (Direct memory access)
Programmed I/O
จะเป็นการเขียนโปรแกรมสั่งงานให้ CPU อ่านข้อมูล จากหน่วยความจำหลักหรืออุปกรณ์ I/O แล้วไปเขียนที่ อุปกรณ์ I/O หรือหน่วยความจำหลักCPU เมื่อจะมีการเขียนหรืออ่านข้อมูลทุก Word ไปที่อุปกรณื I/O CPU จะต้องคอยตรวจ สอบอุปกรณ์ I/O ทุกครั้ง และ CPU จะต้องทำงานนั้นจนเสร็จ ทำให้เสียเวลาการทำงานของ CPU ใช้หลักการรที่ว่า เมื่อMicroprocessor กับอุปกรณ์ภายนอก โดยผ่านทาง register พิเศษที่เรียกว่า I/O ports คุณสมบัติของ I/O เทคนิคนี้คือ อุปกรณ์ภายนอกสามารถกระทำ Funetion ตามที่ Program ซึ่งอยู่ภายในหน่วยความจำของ microprocessor สั่งงานหรือพูดอีกนัยหนึ่งก็คือ microprocessor จะควบคุมการถ่ายโอนข้อมูลทั้งหมดด้วยตนเอง
Interrupt driven I/O เพื่อแก้ปัญหา Programmed I/O
เมื่อ CPU จ่ายโปรแกรมที่เขียนหรื่ออ่านข้อมูลระหว่างอุปกรณ์ I/O และหน่วยความจำหลักแล้ว CPU ก็ไปทำงานอย่างอื่นได้ เมื่ออุปกรณ์ I/O พร้อมก็จะส่งสัญญาณ Interrupt มาบอก CPU อย่างไรก็ตามการเขียนและอ่านข้อมูลก็ยังต้องผ่าน CPU อยู่นั่นเอง มีหลักการว่าอุปกรณ์ภายนอกสามารถบังคับให้ Microprocessor หยุดการทำงานใน program ที่กำลังทำอยู่ชั่วคราว เพื่อที่จะให้มาทำงานในอีกโปรแกรมที่เรียกว่า Interrupt service routine ซึ่ง routine นี้เป็นชุดคำสั่งที่อุปกรณ์ภายนอกต้องการและหลังจากสิ้นสุดแล้ว microprocessor ก็จะกลับไปทำงานตามโปรแกรมเดิมก่อนที่มันจะถูกเรียก Interrupt
DMA (Direct memory access) เป็นการเขียนและอ่านข้อมูลระหว่าง หน่วยความจำหลักและอุปกรณ์โดยไม่ผ่าน CPU ทำให้การเขียนและอ่านข้อมูลกระทำได้เร็วขึ้น มีหลักการที่ว่า การถ่ายโอนข้อมูลระหว่าง memory กับอุปกรณ์ภายนอก โดยไม่ยุ่งเกี่ยวกับ Microprocessor เลย ส่วนใหญ่ DMA จะใช้ในการถ่ายโอนข้อมูลแบบเป็นกลุ่ม (block transfer) ระหว่าง memory กับอุปกรณ์ภายนอก Chip ที่ใช้ในการเชื่อมต่อเรียก DMA Control chip
สุดท้ายได้กล่าวถึง การสื่อสารข้อมูลกับอุปกรณ์ภายนอก (External Interface) โดยมีอยู่ 2 รูปแบบคือ แบบ Serial และแบบ Parallel ในลักษณะ Handshaking

วันจันทร์, กันยายน 11, 2549

โครงสร้างของ Unix

ระบบปฏิบัติการ Unix สามารถแบ่งโครงสร้างหลัก ๆ ได้ 4 ระดับ แต่ละระดับก็จะทำหน้าที่ต่างกัน

1.ฮาร์ดแวร์ หมายถึงอุปกรณ์หรือทุกชิ้นส่วนของคอมพิวเตอร์ ที่เราสามารถจับต้องได้ เช่น จอภาพ คีย์บอร์ด เม้าส์ ดิกส์ไดรซ์ ซีดีรอม เป็นต้น

2.ยูนิกซ์ เคอร์เนล เคอร์เนล จะทำหน้าที่ควบคุมการทำงานทั้งหมดของระบบ ได้แก่ การจัดสรรทรัพยากร การจัดการข้อมูลบริการหน่วยความจำ ซึ่งเคอร์เนลนี้จะขึ้นกับฮาร์ดแวร์ เช่น ถ้ามีการเปลี่ยนแปลง ฮาร์ดแวร์ เคอร์เนลนี้ก็จะถูกเปลี่ยนไปด้วย เป็นต้น

3.เชลล์ คือ ตัวกลางระหว่างผู้ใช้กับตัวเคอร์เนล ทำหน้าที่รับคำสั่งจากผู้ใช้ แล้วนำไปแปลเป็นภาษาที่เครื่องคอมพิวเตอร์เข้าใจ เราเรียกอีกอย่างหนึ่งได้ว่า command interpreter แต่ถ้ามีการนำ เชลล์หลาย ๆ ตัวมาเขียนรวมกัน (คล้าย ๆ กับ batch file ในระบบปฏิบัติการ DOS) เราจะเรียกว่า เชลล์สคริปต์ นอกจากนี้ เชลล์ (Shell) ยังมีอีกหลาย ๆ ประเภท แต่ที่นิยมกันได้แก่

Bourne shell (sh) เป็นเชลล์ต้นแบบของทุก ๆ เชลล์ มีความสามารถในการเขียน เชลล์สคริปต์ได้ด้วย

C shell (csh) เป็นเชลล์ที่สร้างหลัง Bourne shell ความสามารถพิเศษของ C shell คือเก็บข้อมูลเกี่ยวกับคำสั่งที่เคยใช้

Korn shell (ksh) ซึ่งพัฒนาโดย AT&T โดยได้นำคุณสมบัติเด่น ๆ ของ Bourne shell และ C shell มารวมกัน

Bourne again shell (bash) มีคุณสมบัติและความสามารถคล้ายกับ Korn shell แต่ shell นี้ถูกสร้างขึ้นมาใช้สำหรับแจกฟรี ซึ่งเป็นเหตุผลสำคัญที่ทาง Linux นำมาใช้
คำสั่งที่ทำให้ทราบว่าเราใช้งาน เชลล์อะไรอยู่คือ echo $SHELL

4.โปรแกรมประยุกต์ หมายถึง โปรแกรมการใช้งานเพิ่มเติมต่าง ๆ ที่ใช้บนระบบปฏิบัติการยูนิกซ์ ได้แก่ pine เป็นต้น

จุดอ่อนของ DNS server

เรามักจะใช้ DNS server กันอย่างไม่รู้คุณค่า บทความนี้จะกล่าวถึงรายละเอียดการโจมตี DNS server และคุณสามารถทำอะไรเพื่อการรักษาความปลอดภัยที่ดีขึ้น ซึ่งจะตอบคำถามต่อไปนี้คือ
* แคร็กเกอร์(crackers) ใช้ประโยชน์(exploit) จาก DNS เซิร์ฟเวอร์ของคุณได้อย่างไร ?* คุณสามารถทำให้การรักษาความปลอดภัยของ DNS server แข็งกร่งโดยการกำหนดค่า(configuration)ได้อย่างไร ?* คุณสามารถทำให้การบุกรุก DNS server ของคุณเป็นฝันร้ายสำหรับผู้ที่บุกรุกได้อย่างไร ?
ซึ่งอธิบายในลักษณะของการโจมตีและการป้องกัน การป้องกันดำเนินการใน DNS server ที่ใช้ BIND เวอร์ชัน 8 แต่แนวความคิดใช้ได้กับ DNS server ทุกชนิด บทความนี้จะเป็นประโยชน์สำหรับผู้ดูแลระบบ
การโจมตี: ผู้โจมตีหาข้อมูลจาก DNS server ของคุณให้ได้มากที่สุดสมมติว่าโดเมนของเป้าหมายคือ dumb.target.jay เราต้องการรู้ว่า name server ของ dumb.tarbet.jay คืออะไรจึงใช้คำสั่ง nslookup ในยูนิกซ์ ดังต่อไปนี้:
[jay@max jay]$ nslookupDefault Server: ns.my.ispAddress: 10.0.0.1> set q=ns> dumb.target.jayServer: ns.my.ispAddress: 10.0.0.1Non-authoritative answer:dumb.target.jay nameserver = dumb.target.jaydumb.target.jay nameserver = ns2.dumb.target.jayAuthoritative answers can be found from:dumb.target.jay internet address = 192.168.1.85>
ต่อมาเมื่อรู้ว่าอะไรเป็น name server เพื่อใช้หาข้อมูล จึงถามเซิร์ฟเวอร์นี้ สำหรับรายการของโซน (zone)ใช้คำสั่ง dig เพื่อถามถึง zone transfer:
[jay@max zone]# dig @192.168.1.85 dumb.target.jay axfr; <<>> DiG 8.2 <<>> @192.168.1.85 dumb.target.jay axfr; (1 server found)$ORIGIN dumb.target.jay.@ 20H IN SOA ns1 hostmaster.dumb.target.jay (2000111001 ; serial5H ; refresh1H ; retry4d4h ; expire1D ) ; minimum1H IN NS dumb.target.jay.20H IN NS ns.dumb.target.jay.20H IN NS ns.dumbs.isp.20H IN A 192.168.1.851D IN HINFO "Pentium 133" "Red Hat 6.1"1D IN MX 10 mailmail 1D IN A 192.168.1.2really 1D IN A 192.168.1.201D IN TXT "Admin's Trusted Workstation"1D IN HINFO "Athlon 850" "Red Hat 6.1"rather 1D IN A 192.168.1.151D IN HINFO "Pentium 266" "Mandrake 7.1"serious 1D IN CNAME extraextra 1D IN A 192.168.1.80ns 1D IN A 192.168.1.30r_g 1D IN A 192.168.1.68roblimo 1D IN MX 10 r_g1D IN A 192.168.1.44tahara 1D IN A 192.168.1.27
ดูจากข้อมูลที่เราได้จากการใช้คำสั่งสองคำสั่ง จะเห็นว่ามีรายชื่อของเครื่องทั้งหมดที่อยู่ในโซนนี้ นอกจากนี้ถ้าคุณดูที่ HINFO คุณสามารถรู้ได้ว่าเครื่องเหล่านี้ใช้ลีนุกซ์อะไร ทำให้เรารู้อะไรบ้าง ถ้ามีรายการของ exploitที่ใช้ได้กับ Red Hat 6.1 ถ้าสามารถรู้ zone transfer และทำอย่างที่ทำข้างต้นและหา "Red Hat" จะพบเครื่องสองเครื่องที่เสี่ยงต่อการถูกโจมตีซึ่งรวมถึงเครื่อง workstation ของ sysadmin ด้วย จากนี้จึงมุ่งความสนใจไปที่สองเครื่องนี้ซึ่งมักจะมีความเชื่อถือกันเองระหว่างสองเครื่องนี้ด้วย เป็นขึ้นตอนแรกสำหรับcracker เมื่อต้องการรู้ข้อมูลเกี่ยวกับเน็ตเวิร์คนั้น
กำหนดค่า DNS server อย่างมีความเข้าใจ
DNS ได้รับการออกแบบในตอนที่อินเตอร์เน็ตเป็นสถานที่ที่น่าเชื่อใจกว่านี้มาก ไซต์ใหญ่ ๆ มากมายหลายแห่งยังคงกำหนดค่า DNS server ของพวกเขาให้บอกข้อมูลออกไปจำนวนมากต่อใครก็ตามที่ร้องขอ ข้อมูลในส่วนของ HINFO และ TXT เป็นประโยชน์สำหรับผู้บริหารไซต์นั้นที่จะต้องดูแลเครื่องจำนวนมากในไซต์ แต่เป็นประโยชน์มากกว่าสำหรับ cracker ผู้ซึ่งพยายามหาข้อมูลเกี่ยวกับคอมพิวเตอร์ของบริษัทคุณ
DNS ควรให้ข้อมูลเกี่ยวกับ ip/name mapping เท่านั้น เปรียบเทียบได้กับในบริษัทของคุณที่คุณจะให้ให้แผนกต้อนรับลูกค้าบอกถึงหมายเลขโทรศัพท์ภายในของบุคคลที่ต้องการเท่านั้น ไม่รวมถึงตำแหน่ง คุณสมบัติและโครงการของบริษัท คุณไม่ทำอย่างนั้นแน่นอนเพราะหมายถึงการเสี่ยงต่อการปล่อยให้ความลับของบริษัทรั่วใหล และอาจสูญเสียบุคคลากรของบริษัทคุณให้กับบริษัทอื่นคุณสามารถกำหนดค่าของ name server ของคุณได้อย่างง่าย ๆ ให้มันให้ข้อมูลจำเป็นจริง ๆ โดยการแก้ไขไฟล์ /etc/named.conf ไฟล์กำหนดค่าหลักของ BIND
options {directory "/var/named";};zone "dumb.target.jay" {type master;file "zone/db.dumb.target.jay";};zone "1.168.192.in-addr.arpa" {type master;file "zone/db.192.168.1";};
การกำหนดค่านี้แสดงให้เห็นเพียงส่วนของ options ซึ่งแสดงให้เห็น global setting, forward และreverse zone สำหรับโดเมนสมมติ dump.target.jay ตัวอย่างข้างบนได้ละส่วนของ root server และ localhost ไว้เพื่อความกระชับ ตัวอย่างนี้ใช้สำหรับ primary name server มากกว่าที่จะเป็นsecondary name server
ขั้นแรกให้ดูที่ zone transfer, zone transfer ปกติใช้เพื่อให้ secondary name server ได้อัปเดทข้อมูลให้เหมือนกับ primary name server เท่านั้น นอกจากนี้แล้วมันใช้เพื่อหาข้อมูลของเป้าหมายเท่านั้นสมมติว่า secondary name server มี ip address เป็น 192.168.1.30 และ 10.1.1.4 ดังนั้นเครื่องอื่นก็ไม่มีความจำเป็นต้องใช้ zone transfer ต่อมาจึงจำกัดมันดังนี้:
options {
directory "/var/named";
allow-transfer { 192.168.1.30; 10.1.1.4; };
};
สมมติว่าเน็ตเวิร์คภายในของคุณมีเพียงเครื่องที่มี subnet 192.168.1.x เท่านั้น เครื่องภายนอก subnet นี้ควรที่จะสอบถาม(query)ได้เฉพาะโซนที่คุณรับผิดชอบอยู่เท่านั้น สิ่งนี้สำคัญเพราะการโจมตี DNS serverส่วนใหญ่จำเป็นที่ผู้โจมตีต้องสามารถสอบถาม server อื่นซึ่งมักจะเป็นโดเมนที่ผู้โจมตีควบคุมอยู่ ถ้าเราไม่อนุญาตให้ผู้ใช้ภายนอกสามารถสอบถามถึงโดเมนที่ไม่ใช่ของเรา เราจะป้องกันจากการโจมตีได้หลายอย่าง
options {directory "/var/named";allow-transfer { 192.168.1.30; 10.1.1.4; };allow-query { 192.168.1.0/24; };};zone "dumb.target.jay" {type master;file "zone/db.dumb.target.jay";allow-query { any; };};zone "1.168.192.in-addr.arpa" {type master;file "zone/db.192.168.1";allow-query { any; };};
ถึงตอนนี้ใคร ๆ ก็สามารถสอบถามถึงโดเมน dumb.target.jay และ reverse ของมัน มีเพียงโฮสต์ภายในเน็ตเวิร์คเท่านั้นที่สามารถสอบถามอย่างอื่นได้ ท้ายสุดให้อนุญาตให้มีการสอบถามแบบเรียกตัวเอง (recursive)ได้จากโฮสต์ภายในเท่านั้น โดยต้องทำแต่ละโฮสต์ให้มีเฉพาะไลบรารีสำหรับการ resolve ip/hostname(resolver library) ซึ่งจะถาม name server สำหรับ name/ip mapping แต่ละโฮสต์จะสอบถาม nameserver ถึง ip ของ dumb.tarbet.jay name server จะสอบถาม root server เพื่อให้หาว่าโฮสต์ใดที่รับผิดชอบโดเมน .jay root server จะตอบ ip มาซึ่งมันจะติดต่อและถาม server ที่รับผิดชอบโดเมนtarget.jay ควรมีเพียงโฮสต์ภายในเน็ตเวิร์คของคุณเท่านั้นที่สามารถถาม name server เพื่อให้ทำอย่างนี้ได้เพราะโฮสต์ภายนอกมี name server ของตัวเองอยู่แล้ว การอนุญาตให้โฮสต์ภายนอกสอบถาม name serverของคุณให้ตอบแบบเรียกตัวเองสามารถนำไปสู่การโจมตีแบบ cache poisoning ได้ และโดยทั่วไปสิ่งนี้จะให้ข้อมูลที่มากเกินไปสู่ภายนอกเน็ตเวิร์ค
options {directory "/var/named";allow-transfer { 192.168.1.30; 10.1.1.4; };allow-query { 192.168.1.0/24; };allow-recursion { 192.168.1.0/24; };};
เอาละเราได้ทำให้การรักษาความปลอดภัยของ DNS แน่นหนาขึ้นแล้ว แต่ยังมีอะไรเหลืออีกล่ะ บางคนยังสามารถสอบถาม HINFO และ TXT records ได้ถึงแม้ว่าจะไม่สามารถทำการสอบถาม zone transfer ดังต่อไปนี้:
[jay@max jay]$ dig @localhost dumb.target.jay hinfo; <<>> DiG 8.2 <<>> @localhost dumb.target.jay hinfo; (1 server found);; res options: init recurs defnam dnsrch;; got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0,ADDITIONAL: 0;; QUERY SECTION:;; dumb.target.jay, type = HINFO, class = IN;; ANSWER SECTION:dumb.target.jay. 1D IN HINFO "Pentium 166" "Red Hat 6.1";; Total query time: 1 msec;; FROM: max.fictional.attacker to SERVER: localhost 127.0.0.1;; WHEN: Sun Nov 12 00:17:08 2000;; MSG SIZE sent: 33 rcvd: 69
คุณมีทางเลือกหนึ่งในสองทางดังต่อไปนี้คือ:
* เอา record ของ HINFO และ TXT ออกจากไฟล์ที่เกี่ยวกับ zone หรือ* เซ็ต DNS เป็นแบบ Split Horizon DNS
ทางเลือกหลังหมายถึงการทำ name server สองชุด ชุดแรกอยู่หลังไฟร์วอล อีกชุดหนึ่งอยู่ข้างนอกโดยใช้ Network Address Translation (NAT) ที่อยู่ภายในเน็ตเวิร์ค ชุดที่อยู่ภายในเน็ตเวิร์คใช้เหมือนกับ ชุดที่อยู่ภายนอกเน็ตเวิร์คแต่ชุดที่อยู่ภายในให้ข้อมูลทุกอย่างรวมทั้ง TXT และ HINFO ในขณะที่ชุดที่อยู่ภายนอกจะให้ข้อมูลที่จำกัดมากโดยจะไม่ให้ข้อมูลแทบทุกอย่างที่เกี่ยวกับเครื่องที่อยู่ภายในเน็ตเวิร์ค เนื่องจาก NAT ทำให้ดูเหมือนกับว่าเน็ตเวิร์คภายในมีเพียงเครื่องเดียว
การทำ Split Horizon DNS เป็นงานที่ต้องใช้เวลามาก แต่จะประหยัดเวลาสำหรับการทำโครงการที่เกี่ยวกับ DNS ที่สำคัญโครงการต่อไป ในตอนนี้ให้ระมัดระวังเกี่ยวกับ record ของ HINFO/TXT ให้มากและใช้หลักการให้ข้อมูลสู่ภายนอกให้น้อยที่สุดและให้ข้อมูลสู่ผู้ใช้ในสิ่งที่เขาต้องการจริง ๆ ไม่ควรตั้งชื่อของผู้ดูแลระบบว่า admin อาจเรียกใหม่ในชื่อ overlord
การ crack name server ของคุณเราได้แก้ไขช่องโหว่ที่เกี่ยวกับการให้ข้อมูลที่มากเกินไปแล้ว อย่างไรก็ตาม DNS server ที่ใช้ BIND เองยังมีช่องโหว่ทางด้านการรักษาความปลอดภัยอยู่เรื่อย ๆ เช่น BIND เวอร์ชัน 8.2 - 8.22 ที่ยังไม่ได้แก้ไขช่องโหว่มีช่องโหว่ที่สามารถใช้เพื่อให้ได้สิทธิ์ของ root จากเซิร์ฟเวอร์อื่นได้ คุณสามารถอ่านรายละเอียดได้ที่นี่
script kiddies (ผู้ซึ่งนำสคริปต์ที่ผู้อื่นเขียนขึ้นมาใช้เพื่อการบุกรุกสู่ระบบ) จำนวนมากจะสแกนโฮสต์ในอินเตอร์เน็ตจำนวนมากเพื่อหา BIND เวอร์ชันที่มีช่องโหว่ ดังต่อไปนี้:
[jay@max bog]$ dig @dumb.target.jay dumb.target.jaytxt chaos version.bind; <<>> DiG 8.2 <<>> @dumb.target.jay dumb.target.jaytxt chaos version.bind; (1 server found);; res options: init recurs defnam dnsrch;; got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1,AUTHORITY: 0, ADDITIONAL: 0;; QUERY SECTION:;; version.bind, type = TXT, class = CHAOS;; ANSWER SECTION:VERSION.BIND. 0S CHAOS TXT "8.2.2";; Total query time: 1 msec;; FROM: max.fictional.attacker toSERVER: dumb.target.jay 192.168.1.85;; WHEN: Mon Oct 20 18:30:05 2000;; MSG SIZE sent: 30 rcvd: 63[jay@max bog]$
จะเห็นได้ว่า BIND บอกเวอร์ชันและมันก็มีช่องโหว่เสียด้วย มันมีผลเสียอย่างร้ายแรงที่ script kiddie จงใจสแกนโฮสต์ในอินเตอร์เน็ตเพื่อหา BIND เวอร์ชันที่มีช่องโหว่ พวกเขาอาจดาวน์โหลด perl script ที่ยาวเพียงสามบรรทัดเพื่อที่จะสแกนหา name server ที่มีช่องโหว่นี้ พวกเขาสามารถหาเซิร์ฟเวอร์ของเราเจอได้ นอกจากนี้ ถ้า cracker ที่มีความชำนาญกำลังหาข้อมูลเกี่ยวกับคอมพิวเตอร์ของเรา เขาต้องการรู้ว่าเรามีname server ที่มีช่องโหว่หรือไม่ เขาสามารถหาข้อมูลนั้นโดยไม่ให้ผู้ดูแลระบบรู้ได้ด้วย ปกปิดเวอร์ชันของ BIND ของ cracker และสคริปต์ของพวกเขา:แก้ไขช่องโหว่ รันโดยยูสเซอร์ที่ไม่ใช่ rootโชคดีที่เราสามารถเปลี่ยนข้อความที่มากับ name server ได้โดยเพิ่มเติมลงไปในไฟล์ /etc/named.confในส่วนของ options ดังต่อไปนี้:
options {directory "/var/named";allow-transfer { 192.168.1.30; 10.1.1.4; };allow-query { 192.168.1.0/24; };version "Go away!";};
คุณอาจเปลี่ยนเป็นข้อความเป็น "10.0.0" เพื่อให้ดูก้าวร้าวน้อยลง หรือ "4.9.7" เพื่อให้เขาเลิกยุ่งกับเซิร์ฟเวอร์
การใช้มาตรการนี้คุณควรแก้ไขช่องโหว่ของ name server ของคุณอย่างสม่ำเสมอ ถึงแม้จะทำเช่นนี้แล้วแต่คุณก็อาจมีช่องโหว่อีกคือ DNS server ส่วนมากจะรันโดย root ซึ่งเปิดให้มีการได้สิทธิ์ของ rootจากเซิร์ฟเวอร์อื่นในระหว่างช่วงเวลาที่มีการค้นพบช่องโหว่และการแก้ไขช่องโหว่ ในระหว่างนี้สิ่งเดียวที่ช่วยได้คือทำให้การรักษาความปลอดภัยของ name server เข้มแข็งยิ่งขึ้น อับดับแรกที่ต้องทำซึ่งทำได้ง่ายคือให้BIND รันโดยยูสเซอร์อื่น ถ้าไม่ใช่ root ที่รัน BIND คุณสามารถหาได้โดยพิมพ์ดังต่อไปนี้:
[jay@max jay]$ ps -ef grep namednamed 9179 1 0 12:15 ? 00:00:00 named -u named
คอลัมน์แรกแสดงชื่อยูสเซอร์ที่รัน BIND เครื่องที่ผมใช้ทดสอบคือ Mandrake 7.1 โปรแกรม namedของ BIND รันโดยยูสเซอร์ named ถ้าคุณใช้ระบบปฏิบัติการที่แสดงให้เห็นว่า named รันโดย rootให้หาสคริปต์เริ่มต้น(init script) ที่เริ่มการทำงานของ named แล้วจึงแก้ไขให้ใช้ flag -u และ -g ดังต่อไปนี้:
/usr/sbin/named -u dns_user -g dns_group
คุณจำเป็นต้องสร้างยูสเซอร์ dns_user และกลุ่ม dns_group โดยคุณจะใช้ชื่ออะไรก็ได้ที่ต้องการMandrakeSoft ใช้ยูสเซอร์ named และกลุ่ม root ส่วนผมเลือกเอายูสเซอร์ bob และกลุ่ม lessเพื่อไม่ให้ยูสเซอร์อื่นและcracker สงสัย ในกรณีใด ๆ ก็ตามให้ใช้ทั้งสอง flag นอกจากนี้ยูสเซอร์ที่สร้างมานี้ควรปิดการใช้งานจาก shell เช่น /bin/false และควรมี home directory เป็น /var/named หรืออะไรก็ตามที่เป็นไดเร็กทอรีของ DNS
ขั้นตอนง่าย ๆ เหล่านี้จะป้องกันจากการได้สิทธิ์ของ root จากเซิร์ฟเวอร์อื่น (remote root exploit) ในname server ที่ใช้ BIND 8.2 - 8.22 ซึ่งป้องกันได้เพียงไม่ไห้ script kiddie ใช้ shell ได้ และพวกเขาจำเป็นต้องพยายามเพิ่มเติมเพื่อให้ได้สิทธิ์ของ root วิธีนี้สามารถหยุดการโจมตีจาก script kiddie เท่านั้น ถ้าป้องกันจากการโจมตีขั้นสูงแล้วต้องใช้อีกวิธีหนึ่ง
เทคนิคขั้นสูง: chroot the server
เราสามารถตีวงเซิร์ฟเวอร์ให้รันอยู่ในสภาวะ chroot ได้ซึ่งจะจำกัดให้เซิร์ฟเวอร์สามารถเข้าถึงได้เพียงส่วนย่อยของ filesystem เท่านั้น มักจะเป็น /home/dns หรือ /chroot/dns โมดูล DNS.pm ของBastille Linux สามารถ chroot DNS server จากระบบของ Red Hat 6.0-6.2 ซึ่งรายละเอียดอยู่ในเว็ปไซต์ของผู้เขียน http://www.bastille-linux.org/jay มีรายละเอียดเกี่ยวกับ chroot ที่นั่นด้วย