วันศุกร์ที่ 15 พฤศจิกายน พ.ศ. 2556

Genymotion Emulator HOT!!


[Android Dev Tips] Genymotion - Android Emulator สุดเจ๋งสำหรับนักพัฒนา [การติดตั้งใช้งาน]


คราวนี้เจ้าของบล็อกก็จะมาแนะนำ Android Emulator ตัวใหม่
ที่เจ้าของบล็อกรับรองได้เลยว่าดีกว่า AVD ที่ใช้กันอยู่มาก
ซึ่งเป็น Emulator สำหรับนักพัฒนาเลยก็ว่าได้ ชื่อว่า Genymotion


Genymotion เป็น  Emulator ที่สร้างขึ้นมาเพื่อนักพัฒนา
ซึ่งจะต่างจาก Emulator อย่าง BlueStack ที่สร้างขึ้นมา
เพื่อเล่นแอปฯ โดยเฉพาะแอปฯเกมบนเครื่องคอมพิวเตอร์
แต่การนำมาใช้ในการพัฒนาแอปพลิเคชัน ก็ไม่สะดวกซักเท่าไร
และสำหรับ AVD ที่มาพร้อมกับ ADT Bundle ก็ไม่ต้องพูดถึงเลย น่าจะรู้กันดี
ทั้งช้าและอืด ถึงแม้ว่าหลังๆจะพัฒนาให้เร็วขึ้นหน่อยนึงแล้วก็ตาม
แต่ก็ยังมีปัญหาไม่รองรับการทำการหลายๆอย่าง เช่น Google Maps v2
ที่เจ้าของบล็อกเคยทำบทความไว้แล้วแจ้งไว้ว่ารันบน AVD ไม่ได้
เพราะ GMapsV2 จะเรียกใช้ไลบรารีที่อยู่ใน Google Play Service
แต่ AVD นั้น ไม่ได้ติดตั้งบริการที่เป็นของ Google อยู่หลายตัว
ทำให้การจะใช้ GMapsV2 ผู้ที่หลงเข้ามาอ่านจะต้องติดตั้ง
พวกบริการดังกล่าวเองเพื่อให้ใช้งานได้ ซึ่งก็ยุ่งยากพอตัว

แต่สำหรับ Genymotion จะเหมือนกับว่าคุณเล่นมือถือเครื่องหนึ่งเลย
เปิดเครื่องครั้งแรกมาคุณก็ต้องล็อกอิน Google Account เพื่อใช้งาน
Sync กับ Gmail ได้ และสามารถเข้า Play Store เพื่อโหลดแอปฯได้
และที่ชอบสุดก็คือรองรับ Google Maps Android API v2 ได้ด้วย


สามารถเข้าไปโหลดมาใช้งานได้ที่เว็ปของผู้พัฒนาเลย

แต่ต้องสมัครสมาชิกบนเว็ปก่อน ก็ไม่น่าจะมีปัญหาอะไร
เว้นแต่ว่าตอนรอจดหมายเพื่อยืนยันรหัสผู้ใช้งานรอนานมาก
รอเป็นชั่วโมงกว่าจะส่งมา ทั้งๆที่กดให้ส่งซ้ำตั้งนานแล้ว
สำหรับ Genymotion จะทำงานร่วมกับ Oracle VM Virtual Box
ดังนั้นจึงต้องติดตั้งโปรแกรมด้วยกันสองตัว เพื่อใช้งาน

• เมื่อติดตั้งเสร็จและเปิดโปรแกรมขึ้นมา โปรแกรมก็จะแจ้ง
ว่ายังไม่มี Virtual Device หรือก็คือตัว Emulator นั่นเอง
ให้ทำการกดปุ่ม Yes เพื่อทำการสร้าง Virtual Device 


• สำหรับการสร้าง Virtual Device จะไม่มีการกำหนดสเปคเหมือน AVD
แต่ Genymotion จะมีเซิฟเวอร์ที่เก็บ Virtual Device ของตัวหลักๆไว้อยู่แล้ว
การจะนำมาใช้งานจึงต้องล็อกอินก่อน รหัสเดียวกับที่ใช้สมัครเพื่อโหลด


• เมื่อล็อกอินเสร็จแล้วก็จะมีรายชื่ออุปกรณ์ให้เลือกติดตั้ง มีดังนี้

                                 Galaxy Nexus - 4.1.1 - 720x1280
                                 Galaxy Nexus - 4.1.1 with Gapps - 720x1280
                                 Galaxy Nexus - 4.2.2 - 720x1280
                                 Galaxy Nexus - 4.2.2 with Gapps - 720x1280
                                 Galaxy S4/HTC One/Xperia Z - 4.2.2 - 1080x1920
                                 Galaxy S4/HTC One/Xperia Z - 4.2.2 with Gapps - 1080x1920
                                 Nexus 7 - 4.1.1 - 1280x800
                                 Nexus 7 - 4.1.1 with Gapps - 1280x800
                                 Nexus 7 - 4.2.2 - 1280x800
                                 Nexus 7 - 4.2.2 with Gapps - 1280x800
                                 Nexus One - 4.1.1 - 480x800
                                 Nexus One - 4.1.1 with Gapps - 480x800
                                 Nexus One - 4.2.2 - 480x800
                                 Nexus One - 4.2.2 with Gapps - 480x800
                                 Nexus S - 4.1.1 - 480x800
                                 Nexus S - 4.1.1 with Gapps - 480x800
                                 Nexus S - 4.2.2 - 480x800
                                 Nexus S - 4.2.2 with Gapps - 480x800
                                 WSVGA 7.0" Tablet - 4.1.1 - 1024x600
                                 WSVGA 7.0" Tablet - 4.1.1 with Gapps - 1024x600
                                 WSVGA 7.0" Tablet - 4.2.2 - 1024x600
                                 WSVGA 7.0" Tablet - 4.2.2 with Gapps - 1024x600
                                 WXGA 10.1" Tablet - 4.1.1 - 1280x800
                                 WXGA 10.1" Tablet - 4.1.1 with Gapps - 1280x800
                                 WXGA 10.1" Tablet - 4.2.2 - 1280x800
                                 WXGA 10.1" Tablet - 4.2.2 with Gapps - 1280x800

* Gapps ก็คือ Google Apps นั่นเอง เป็นเหล่าแอปพลิเคชันของ Google
**เจ้าของบล็อกแนะนำให้เลือกดาวน์โหลดแบบที่มี Google Apps ด้วย
เพื่อที่เวลาเขียนแอปฯที่เรียกใช้ไลบรารีของ Gapps จะได้ทดสอบได้
อย่างแอปฯแผนที่ GMapsV2 ก็จะทำงานไม่ได้ถ้าไม่ติดตั้ง Gapps


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


• Virtual Device ตัวนึงจะมีขนาด 200MB กว่าๆ ก็ต้องดาวน์โหลดทุกครั้ง
ซึ่งต่างจาก AVD ที่จะทำการสร้าง Virtual Device จากในคอมพิวเตอร์เลย
(จริงๆก็คือ AVD ได้โหลดข้อมูลมาเตรียมไว้ล่วงหน้าเรียบร้อยแล้ว)


• เมื่อดาวน์โหลดเสร็จแล้วก็กด Next ได้เลย


• จากนั้นก็จะให้ทำการตั้งชื่อ Virtual Device ตัวนั้นๆ


• เมื่อเสร็จเรียบร้อยแล้วก็กดปุ่ม Finish ได้เลย


• จะเห็นรายชื่อ Virtual Device ที่ได้สร้างไว้ แสดงอยู่ที่หน้าหลัก


• สำหรับการปรับแต่ง Virtual Device จะทำได้แค่ปรับขนาดหน้าจอเท่านั้น


• ให้ไปตั้งค่าโฟลเดอร์ Android SDK ก่อน โดยไปที่ Menu > Settings 


• จะเห็นว่าโปรแกรมยังหาที่อยู่ของ Android SDK ไม่เจอ ให้กดปุ่ม Browse


• เลือกโฟลเดอร์ sdk ที่อยู่ใน ADT Bundle ของเรา


• เมื่อเลือกเสร็จแล้วก็ให้กด OK เพื่อปิดหน้าต่างนี้ได้เลย


• เมื่อเสร็จเรียบร้อยแล้วก็ดับเบิลคลิกเลือกเปิดตัวที่ต้องการได้เลย


*สำหรับผู้ที่หลงเข้ามาอ่านที่มีปัญหาใช้งาน แล้วทำตามข้างล่างไม่ได้
อาจจะเพราะว่าผู้ที่หลงเข้ามาอ่านใช้ Virtual Device แบบที่ไม่มี Google Apps
ให้ไปดาวน์โหลดแบบที่มี Google Apps ด้วย แล้วตั้งค่าให้ Virtual Device ใหม่

• จะเห็นว่าเมื่อเปิดเข้ามาก็จะพบกับหน้าตั้งค่าเครื่อง
ซึ่งเหมือนกับเครื่องจริงทั้งหมดเลย ต่างไปจากของ AVD 



• สามารถใช้งาน Play Store ได้ตามปกติ (เวอร์ชันใหม่แล้วด้วย)
แต่ใช่ว่าจะโหลดได้ทั้งหมดนะ มีบางแอปฯที่ไม่รองรับ
ซึ่งส่วนมากปัญหาคือไม่สามารถติดตั้งลงใน External Storage ได้
** ในเวอร์ชันล่าสุดติดตั้งได้เรียบร้อยแล้ว


• สำหรับกล้องยังใช้งานไม่ได้นะ คาดว่าจะทำให้ภายหลัง


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


• ถ้าไม่ทราบพิกัดก็มีปุ่มแผนที่ให้กดเพื่อเปิดแผนที่แล้วจิ้มพิกัดที่ต้องการ


• ส่วน Battery ก็จะมีให้ปรับได้ว่าต้องการให้อยู่ในสถานะแบตเตอรีกี่ %
กำลังทำการชาร์จอยู่หรือไม่ เหมาะกับนักพัฒนาแอปฯจำพวกแบตเตอรี


• สำหรับแอปพลิเคชันที่ใช้งาน Google Maps Android API v2
เจ้าของบล็อกคอมเฟิร์มเลยว่าสามารถใช้งานได้จริง


• ส่วนเซนเซอร์ในเครื่อง ตอนนี้มีแค่ Accelerometer อยู่
ทางผู้พัฒนาจะทยอยเพิ่มเข้ามาให้เรื่อยๆ ในภายหลัง


• จะมีไอคอน Genymotion Configuration ให้ด้วยเอาไว้ปรับค่าเล็กๆน้อยๆ
อย่างเช่นประมวลผล OpenGL ด้วยฮาร์ดแวร์, ล็อคค่า IP ไว้
, เปลียนคีย์บอร์ดไปมาระหว่าง Physical กับ Virtual
(Physical คือปุ่ม Home Back Menu ที่อยู่นอกจอ อย่าง S3
Virtual คือปุ่ม Home Back Menu ที่อยู่ภายในจออย่าง Nexus 4)


• ตัว Virtual Device จะมีพื้นที่ให้ใช้สอย 5 GB 
(ก็กินพื้นที่จาก HDD คอมน่ะแหละ)


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

• ที่ชอบที่สุดก็คงจะเป็นปุ่ม Power ที่มีให้ใน Emulator ด้วยละมั้ง
เพราะ Emulator ทุกตัวจะไม่มีปุ่มนี้ เพื่อเอาไว้เทสเวลากดปิดหน้าจอ
ทำหน้าที่ได้เหมือนกับเครื่องจริงเลย แม้กระทั่งปิดเครื่องก็ยังได้


สามารถเช็ค LogCat ต่างๆได้ตามปกติไม่มีปัญหาอะไร
สรุปข้อดีข้อเสียได้ดังนี้

                              ข้อดี
                                 • All Platform ได้ทั้ง Windows / OSX และ Linux
                                 • ลื่นกว่า AVD มากๆ ลองทดสอบกับขนาด Tablet ก็ยังลื่น
                                 • ทำมาเพื่อให้นักพัฒนานำไปใช้โดยเฉพาะ
                                 • ปรับค่าจำพวก GPS หรือแบตเตอรีเพื่อจำลองสถานการณ์ได้
                                 • รองรับ Google Maps Android API v2
                                 • ไม่ต้องตั้งค่าโปรแกรมให้ยุ่งยาก
                                 • มีปุ่ม Power ให้ลองทดสอบกับหน้า Lock Screen ได้
                                 • ดาวน์โหลดแอปฯใน Play Store มาทดสอบได้เลย
                                 • มี Plugin เพื่อให้สามารถใช้ร่วมกับ Eclipse และ Android Studio
                                 • ให้ความรู้สึกเหมือนใช้งานกับเครื่องจริง

                              ข้อเสีย
                                 • ต้องดาวน์โหลด Virtual Device จากเซิฟเวอร์ทุกครั้ง
                                 • เวลาหมุนจอต้องรอซักนึงถึงจะหมุนให้ (รอดูว่าจะแก้ไขมั้ย)
                                 • โหลดแอปฯ บางตัวไม่ได้เพราะติดตั้งใน External Storage ไม่ได้
                                 • ตั้งค่าตัว Virtual Device ได้แค่ขนาดจอและเวอร์ชันแอนดรอยด์


ในการใช้งานร่วมกับ ADT หรือ Android Studio ต้องติดตั้ง Plugin ดังนี้

• ไปที่ Help > Install New Software...


• ที่หน้าต่าง Install ให้กดที่ปุ่ม Add.


• ที่หน้าต่าง Add Repository ให้ใส่ที่อยู่ Plugin ของ Genymotion มาติดตั้ง ดังนี้


• เมื่อกด OK แล้วกลับมาที่หน้า Install 
จะเห็นว่ามีชื่อ Tools ของ Genymotion ให้ติดตั้ง
ให้ติ๊กเครื่องหมายถูกเพื่อเลือกแล้วกด Next


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



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

เขียน android support RTMP Protocol อย่างไร ? How I can use videoview from rtmp? [closed]

Android Media..
Network Protocols
The following network protocols are supported for audio and video playback:
  • RTSP (RTP, SDP)
  • HTTP/HTTPS progressive streaming
  • HTTP/HTTPS live streaming draft protocol:
    MPEG-2 TS media files only
    Protocol version 3 (Android 4.0 and above)
    Protocol version 2 (Android 3.x)
    Not supported before Android 3.0
    and ..
    
    
    RTMP Library provides the implementation of the RTMP protocol on Android with interfaces for streaming online audio and video contents. Application can have direct control over media buffers enabling integration with third party or proprietary DRM solutions. The library also facilitates support for range of audio video codec. It offers publishing of live audio using which android based audio chat; public announcing system etc can be developed. The library is integrated with Adobe Flash Media Server family products.

Android RTMP library

Android RTMP library
RTMP Library provides the implementation of the RTMP protocol on Android with interfaces for streaming online audio and video contents. Application can have direct control over media buffers enabling integration with third party or proprietary DRM solutions. The library also facilitates support for range of audio video codec. It offers publishing of live audio using which android based audio chat; public announcing system etc can be developed. The library is integrated with Adobe Flash Media Server family products.
The Need
The Android platform lacks support for streaming protocol, which makes it difficult to stream live audio / video to Android enabled devices. As android expands itself from mobile phones and to other embedded products, support for real time messaging framework would also be essential.
Solution
The library uses the Real time messaging protocol (RTMP) from Adobe for streaming audio, video and data over internet. This also facilitates Audio / video streaming, Remote procedure calls, Messaging and communication using shared objects.
android-RTMP-library-solution
Usage Scenarios
  • Collaboration software having video conferencing, audio /video streaming, text chat generally used in education, enterprise and government sectors.
  • Surveillance systems where live streaming of video feed, clip management, snap shot of live stream etc is desired
  • Virtual class rooms where users can learn, contribute (audio + video) in a class room from remote locations using desktop PCs, even a mobile phone or a embedded mobile device.
  • Set top box applications like recipes, media library (video on demand), interactive learning etc.
Instructions to use the library
  • Statically link the library to your android applications.
  • The evaluation version allows streaming 2MB of data. The registered version has no such restriction.
Roadmap of the library
  • Successful porting of SDL library on android is completed. This helps to display video streams captured from various interfaces/protocols like RTMP, DVB, DVR.
  • Currently work is in progress for porting ffmpeg on android and make it available to RTMP library and other applications through JNI interfaces.
Download

วันศุกร์ที่ 13 กันยายน พ.ศ. 2556

การรับส่งข้อมูลบน internet


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}https://www.eff.org/pages/tor-and-https

Proxy Server


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

Permission สำคัญไฉน ?


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

PRIV8 คืออะไร ?


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

0day คืออะไร ?


0 Day (ศูนย์-เดย์) หรือ Zero Day Exploit



Zero Day Exploit มาจากสองคำรวมกัน Zero Day แปลแบบบ้านๆ คือ  ศูนย์วัน Exploit   คือ  การฉกฉวยโอกาสเพื่อหวังผลประโยชน์บางอย่าง  พอนำสองคำมารวมความหมายกัน Zero Day Exploit   คือ "วันที่มีการค้นพบช่องโหว่ของระบบ แล้วใช้ช่องโหว่นี้ไปหาประโยชน์อะไรสักอย่าง โดยก่อนที่ผู้ผลิตหรือเจ้าของทราบ" 
ยกตัวอย่าง
+ ไมโครซอฟต์ออก ซอฟต์แวร์มาตัวหนึ่ง แล้วปล่อยให้ดาวน์โหลด  
+ ต่อมามีคนหรือใครก็ตามค้นพบช่องโหว่ของระบบ (และไม่ได้แจ้งให้ทางไมโครซอฟต์รู้)
+ ต่อมาคนที่รู้ช่องโหว่นี้ ใช้ HACK ผ่านทางช่องโหว่เพื่อหาผลประโยชน์ โดยใช้เครื่องมือต่างๆ (ตรงนี้แหละ เค้าเรียกว่า Zero Day Exploit )

+ จะยังคงเรียกระบบนั้นว่า Zero Day อยู่
+ จนกว่า ทางไมโครซอฟต์ จะออก ตัว Update แก้ช่องโหว่ ระบบนั้นถึงพ้น Zero Day
+ หากปล่อยให้โหลดอีก มีคนเจอช่องโหว่อีก ทางผู้ผลิตไม่รู้ก่อนอีก ก็จะเข้า Zero Day ครับ
+ มันจะวนเป็นวัฏจักรแบบนี้ในระบบ ในงานด้าน Security



Shell,phpShell คืออะไร?


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

Bypass Technical


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

2 แบบ Security Testing Methodology


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

3 ทฤษฎี "การทดสอบระบบ"


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

3 แบบการ "โจมตี" เป้าหมาย


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}


ศัพท์เทคนิคที่ควรรู้


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

วางแผนก่อน "HACK"


{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

Backtrack Linux Operating System

{{{{{{_% เกิดข้อผิดพลาดในการแสดงข้อมูล}}}}}}

ประเภทของ HACKER

โอ้เย้.. ถ้าพูดถึง คำนิยาม จำกัดความของ HACKER คืออะไรนั้น ถ้าจะให้เล่าคงยาวอ่ะ
ในมุมมองของผมนะ HACKER คือ คนที่ทำอะไรกับเรื่องเดิมๆ ซ้ำๆ และ นานๆ (จนรากงอก อ่ะ) บนระบบอิเล็คทรอนิค บนเว็บไซต์ บนระบบ  เจ๋งป่ะละ ง่ายๆ hacker คือผู้ทดสอบระบบ ดีดีนี้เอง แต่มีทั้งที่ดีและไม่ดี ซึ่ง HACKER มันมีหลายแบบ
1. Black Hat (หรืออีกชื่อ Cracker) คือ อันนี้สายโหดเลย เจาะ นั้นนี้ของระบบ ใช้ทุกวิธีทางเพื่อให้ได้มาซึ่งความลับ ข้อมูลสำคัญ มีวัตถุประสงค์ที่ชัดเจน พยายามดัดแปลงระบบให้ใช้ได้ตลอดชีพแบบนี้ (Reserve Engineer) หรือการทำให้ Server ให้เดี้ยงดาว ให้เกิดความเสียหายต่างๆนาๆ และมักมีแผนการอันชาญฉลาด มีการวางแผนเตรียมการ
2 White Hat (หรืออีกชื่อ Ethical Hacker) หลายๆคนที่ผมเคยอ่านประวัติ หลังจากที่ไปเจาะระบบชาวบ้านหรือเว็บดังๆ หน่วยงานใหญ่ๆ หลังถูกจับกุมตัวออกจากคุกพ้นโทษ เสร็จ มักจะกลับตัวกลับใจ ส่วนหนึ่งมาทำงานเป็นทีมที่ปรึกษาให้กับองค์กรหรือหน่วยงานใหญ่ๆ ในด้านการรักษาความปลอดภัยให้กับระบบ
และเป็นหน่วยป้องกันและวางแผนการรับมือกับปัญหาที่จะเกิดต่างๆกับระบบ
3 Gray Hat สายผสม คือ มีทั้งดีและไม่ดีอยู่ในตัวเอง เหมือนจอมโจรโรบิลฮู้ดอ่ะครับ ปล้นสเบียงราชามาช่วยประชาชน ประมาณนั้น มุ่งร้ายหวังดี  พอเข้าใจนะ

สรุป คือ hacker คือ คนทดสอบระบบดีดีนี้ละ มันพยายามหาช่องโหว่ หาบัค ของระบบ ทุกซอกทุกมุม(หรือไม่นั้นขึ้นอยู่ว่ามันจะเจอเลยหรือเปล่า ซึ่งบางทีเจอ บัคหรือช่องโหว่รูเดียว แค่นี้มันก็ไม่หาต่อแล้วละ มันจะไปทำการฝัง Backdoor Script อัพ Shell ขึ้น Server จากนั้นก็เรียบร้อยนะเออ...)

* มาเล่า *

วันพฤหัสบดีที่ 12 กันยายน พ.ศ. 2556

Information Security : การรักษาความปลอดภัยของข้อมูล

มีองค์ประกอบหลักอยู่ 3 ตัว คือ

1. Confidential (ข้อมูลที่เป็นความลับ)
   ข้อมูลที่เป็นความลับ จะลับมากหรือลับน้อย มันก็เป็นความลับ สิ่งที่เราต้องทำคือการรักษาสภาพความลับให้คงอยู่ต่อไปตามระดับความลับของข้อมูลนั้น ๆ เช่น "ใครสามารถอ่านได้หรือเขียนได้" ประมาณนั้นครับ
    กลไกหรือกระบวนการในการควบคุมเข้าถึงข้อมูล(Access Control) เช่น การกำหนด Username และ Password ในการเข้าเครื่องคอมพิวเตอร์แบบนี้ หรือในกรณีที่เป็น Client/Server ที่เปิดให้บริการหลายๆ Service และแต่ละ Service ก็มีผู้ดูแลเป็นราย Service ไป ดังนั้นควรมี Account แยกตามผู้ดูแลแต่ละคน สามารถสั่งการและจัดการ ได้เฉพาะส่วนที่ตนรับผิดชอบเท่านั้น
หรือที่เราๆเรียก การทำ Permission Data, Group Policy ก็จะมีกำหนดสิทธิ์การเข้าถึงข้อมูลนั้นๆ เป็นต้นครับ

2. Integrity (ข้อมูลที่มีความถูกต้องสมบูรณ์)
   คืออะไร แปลๆตรงตามหัวข้อเลย หมายถึง ข้อมูลที่ถูกต้องสมบูรณ์ทั้งต้นทางและปลายทาง คือระหว่างการรับส่งข้อมูลแน่ใจว่าไม่ได้ถูกเปลี่ยนแปลง ดัดแปลง แก้ไข หรือทำลาย ระหว่างทางการทำรับส่งข้อมูลนั้นเองครับ (transmission) ส่วนใหญ่แล้วข้อมูลประเภทนี้ จะถูกเข้ารหัสไว้ (Encryption) เพื่อเพิ่มความปลอดภัยของข้อมูล
วิธีการเข้ารหัสก็มีหลายวิธี เช่น md5 sha1  หากเป็น Linux จะเป็น md5sum ประมาณนั้นครับ Google หาเพิ่มเลย... :P

3.  Availability (ข้อมูลพร้อมใช้งาน)
   จะบอกว่า พร้อมใช้งาน กรณีนี้หมายถึง เมื่อไหร่ที่ระบบถูกโจมตี จากผู้ไม่หวังดี Hacker อ่านะครับ
เราควรจะมีแผนสำรอง หรือ มีการ backup Plan ข้อมูลไว้ หรือ การทำ Load Balancing , Hardening แบบนี้ไว้ เราก็จะสามารถกู้ระบบ พร้อมกลับมาใช้งานได้อีกครั้ง

Header : ข้อมูล ->
Container :              ถูกต้อง -> สมบูรณ์ -> พร้อมใช้งาน
Title         :                  C      ->       I       ->       A
เอา ย่อ ๆ เรียก CIA Model (เชี่ย โมเดล)

Set Proxy แก้ปัญหา Loopback login

แก้ปัญหาการเข้า  Hosting Control Panel DirectAdmin [Sol. Loopback login]
สาเหตุเกิดจาก
- เกิดจาก การไปตั้ง Load balance หรือ
- เกิดจาก การไปตั้ง routing ip address แบบ Dynamic ตลอดเวลา
* ตัว hosting เองจะมีระบบป้องกัน เรื่องความปลอดภัยการเข้าถึง เจ้าหน้า HCPD

วิธีแก้ไข คือ ไปตั้งค่า proxy ใน web browser ครับ จบข่าว..
 
 
 
 

สำหรับ Proxy Server ของ ISP ค่ายต่างๆ 
TrueInternet : proxy.trueinternet.co.th : 8080
A-Net : proxy.a-net.net.th : 8080
Asia Access : proxy.asiaaccess.net.th : 8080
Asia Infonet : proxy.asianet.co.th : 8080
CS Internet : proxy.cscoms.com  : 8080
Data Linethai : proxy.linethai.co.th : 8080
IdeaNet : proxy.idn.co.th : 8080
InfoNews : proxy.infonews.co.th : 8080
InerGate : 10.0.0.33 : 8080
Internet Thailand : proxy.inet.co.th : 8080
KSC : proxy.ksc.net.th port 8080 : 172.16.0.2 : 8080
Loxinfo : proxy.loxinfo.co.th : 8080
RoyNet : proxy.roynet.co.th : 8080
Samart : proxy.samart.co.th , proxy_server.samart.co.th : 8080
Siam IT Online : proxy.siamit.co.th : 8080
WorldNet : proxy.wnet.net.th : 8080
TOT : 203.113.0.31 : 8080

เครดิต : http://www.naxza.com/setproxy.php

เกี่ยวกับ Blog นี้...

Blog นี้ถูกสร้างขึ้นเพื่อสนองความต้องการของตัวเอง อย่างที่บอกไป ในหัวข้อ [จุดเริ่มต้น]

บล็อคนี้จะให้ความรู้แนว Network Security ในยุคของ Social Media หรือรูปแบบการทำธุรกรรมอิเล็คโทรนิคต่าง ๆ การทำ เว็บไซต์ซักเว็บ ต้องให้มีความปลอดภัย ภัยที่เกิดจากการเจาะระบบ Hacker , Script Kiddy  นั้นแหละครับ
วิทยาการ การเจาะระบบในมุมมองของ Hacker , การป้องกันภัยในมุมของผู้ดูแลระบบ อย่างเรา ...
ควรทำเช่นไร การป้องกันไว้ก่อนดีกว่า เกิดปัญหาแล้วมาแก้ไข เพราะมันโครตลำบากเลยครับ
เมื่อเกิด 1 ช่องโหว่ การที่เราไปตามดู Logfile ว่ามันทำอะไรกับระบบเราบ้างมันยากนะ บางทีมันลบร่องรอยการเข้ามาแล้วฝั่ง ไฟล์แปลกๆ ยิ่งระบบเราใหญ่ๆ การที่จะไล่ดูสิ่งแปลกปลอม มันลำบากมาก ๆ ๆ Y_Y

คือก่อนที่จะมาเริ่ม มันก็ต้องปูพื้นคร่าวๆ ก่อน อยากละเอียดต้อง Google เลยนะ
จำเป็นต้องรู้เรื่องอะไรบ้าง เดี๋ยวผมจะทำเป็นหมวดๆ แล้วค่อยหาศึกษาตาม Topic มันแล้วกัน
เมื่อก่อนนะ สมัยที่ผมยังเรียน มัธยมเลย คือเริ่มศึกษา คำนิยาม คำว่า hacker มันคืออะไร ทำยังไง
เกิดความรู้สึกว่าถ้าเกิด ตรูส์ทำได้จะเทพขนาดไหน โอ้ว..เท่ห์วะสาด อยากทำเป็นมั้ง ศึกษามา จนจบ ม.6 ก็ยังรู้แบบ งูๆปลาๆ
ไป hack ใครไม่ได้เลย ก็เลยล้มเลิกความตั้งใจไป ตอนนั้น ศึกษาเท่าที่มีเวลาศึกษา เวลาส่วนใหญ่เอาไปเล่นเกมส์หมด 555+

ถามว่าจำเป็นต้องรู้อะไรบ้าง
Programming เลย เมื่อก่อนมันต้องเพียว script กัน ลุยเอง ทำเอง ไม่มีใครปล่อยโปรแกรมที่แสนสะดวกสบายเหมือนในสมัยปัจจุบันหรอกครับ ...  หน้าดำคร่ำเครียด
แต่สมัยนี้ ไม่กี่คลิก ฮุฮุ จริงเหรอ มันก็มีบ้าง และ ต้องพิมพ์บ้าง แต่ก็สบายกว่าเย้อะ !!!!!!!!!!!
ทักษะโปรแกรมมิ่งที่จำเป็น ไอ่พวก mod hi5 ได้แค่นี้ถือว่าก็สุดยอดละนะ 555
แต่ผมมอง ถ้าเกิดใช้โปรแกรมที่เขามีมาให้ ทำได้ก็จริง แล้วกลไกการทำงานของมันล่ะ ?
เราจำเป็นต้องรู้นะถ้าจะมาสายนี้อย่างแข็งแกร่ง แต่อย่างแข็งกร่าว
เพราะเราต้องประยุกต์ความรู้หลายๆ อย่างเข้าด้วยกัน คือ 1 hacker = ทำไรได้เยอะเหมือนกัน *_*
network , programming , administrator , logic , 3 tie , 5 tie Architecture ไรแบบนี้ แม่ม
นิยามคำว่า hacker ก็มีหลายอย่าง เดี๋ยวหัวข้อถัดไปจะเขียนอะนะครับ

วันพุธที่ 11 กันยายน พ.ศ. 2556

จุดเริ่มต้น ?

สวัสดีครับ วันที่สดใส (ของใครหรือเปล่า) สำหรับผม คือวันหนึ่งๆ ที่ต้องกระด็อกกะแด็ก เพื่อความอยู่รอด .. .

ผมเปิดสร้างบล็อคนี้ขึ้นมาเพื่อมาเตือนความจำตัวเอง + จดบันทึก + อาจจะเป็นข้อมูลที่เป็นประโยชน์สำหรับผู้ที่หลงเข้ามา (หรือเปล่า)  คือผมความจำสั้นอ่ะ ขี้หลง ขี้ลืม.. เป็นประจำ
จดลงสมุด มันก็ลำบาก จดๆหายๆ ถ้าเกิดหายไปทั้งเล่มก็ไม่ตายเลยเหรอ .. Y_Y: (อุตสาหะหามาตั้งนาน)
เลยต้องหาวิธีสนองความต้องการ เปิด Blog แม่มเลย หึหึ. . :X

ยอมรับๆตรงเลย ข้อความที่พิมพ์ลงไป บางข้อความเอามาจากสมองอันน้อยนิดที่คิดพิจารณา แล้วกลั่นกรองพิมพ์ลงไป และก็เอามาจากหนังสือที่อ่านด้วย จากเน็ทบ้าง แต่ในฉบับที่ตัวเอง ( คือผมเองเท่านั้นอ่ะที่เข้าใจ 555 ) ถ้าใครหลงเข้ามา มีข้อมูลใดผิดพลาด ชี้แนะผมด้วยนะครับ


ICMP Protocol

ข้อมูลสรุปนี้ไม่พร้อมใช้งาน โปรด คลิกที่นี่เพื่อดูโพสต์

UDP Protocol

เป็นอีก Protocol ที่ทำงานคล้าย TCP Protocol มันมีชื่อว่า UDP Protocol

จริงๆ ต้องบอกเลยครับว่า การรับส่งข้อมูลบนเครือข่าย internet นั้น มี 2 แบบ คือ รับส่งแบบ TCP และ UDP
- เจ้าตัว TCP เนี่ยจะเป็นการรับส่งข้อมูลโดยเน้นความถูกต้องเป็นหลัก โดยการส่งแบบนี้ต้องมีการตรวจเช็คข้อมูลที่ปลายทางด้วย หมายถึง ถ้าเกิดมีข้อผิดพลาดระหว่างการรับส่งข้อมูล ก็จะ respone กลับว่าเกิดข้อผิดพลาดใด Cilent อาจจะกรอก URL ผิด หรือ Cilent ไม่ได้ connect internet 55+ หรือแม้แต่ domain ที่เรียก เจ้าของเลิกใช้ หรือหมดอายุ ..bla ..bla..
- TCP ถ้ามันตรวจเจอข้อผิดพลาด ก็ต้องส่งใหม่ ส่วนมากจะเป็น data ทั่วไป

 ส่วน UDP [User Datagram Protocol] จะเน้นความเร็ว !!! เป็นหลัก ครับ ไม่สนใจว่าข้อมูลที่ปลายทางส่งถูกมั้ย คือ เช็คแบบหยาบๆ เช่นเช็ค Event odd
- การส่งแบบนี้ส่วนมากใช้กับ VDO Streaming หรือ Voice Streaming ทั้งหลาย อะไรที่เป็นแบบ Real Time
- ยกให้เห็นภาพชัดๆเลย คือ เวลาเราคุยโทรศัพท์คุยกัน ถ้ามีการตรวจเช็คข้อมูลมากๆ คนพูดก็พูดไป คนฟังก็รอ กว่าข้อมูลจะมาถึง วันนี้จะคุยกันรู้เรื่องมั้ย ประมาณนั้น
- SMS ก็ลักษณะการทำงานเช่นเดียวกัน UDP Protocol คล้ายกันนะครับ ไม่ใช่ตัวเดียวกัน เพราะ SMS ใช้ SMPP Protocol จ้า



TCP Protocol

TCP
TCP ย่อมาจาก Transmission Control Protocol เป็นโพรโตคอลที่ทำงานโดยอาศัย IP (IP address)
ในขณะที่ IP เป็นตัวจัดการให้เครื่องคอมพิวเตอร์ 2 เครื่อง ( host to host ในเครือข่าย) สามารถติดต่อสื่อสารกันไปมาผ่านเครือข่ายอินเทอร์เน็ต และทำหน้าที่ในการอนุญาตให้แอพลิเคชันแต่ละชนิดของเครื่องคอมพิวเตอร์แต่ละเครื่องสามารถติดต่อกันได้ ...(ลองไปค้น Google ดูต่อ  "Model TCP Layer" )

ลองคิดดูนะ  เวลาคุณเข้าเว็บซักเว็บ จำเป็นต้องมีอะไรบ้าง?
- มีคอมซักเครื่องไง ไอสัส ขำ ก็ต้องมีอยู่แล้ว
- ISP IP ก็คือ IP internet จากผู้ให้บริการให้มา [http://whatismyipaddress.com/] ก็คือต้องมี internet นั้นแหละ
- คิดต่อ พอเวลาเข้าเว็บ มันส่ง requste <> respone  ระหว่างเครื่องเรา (Clinet) ไปหา อีกฝังเครื่องเซิฟเวอร์ (Server) ::  จะคุยกันรู้เรื่องได้ต้องใช้ตัวกลาง นั้นก็คือ เจ้าตัว TCP Protocol นั้นเอง

* tip : Host คือ Sub machine of Server machine
* tip : Host จะแบ่งเนื้อที่จาก Server เพื่อเปิดให้บริการ เช่าพื้นที่ ให้หลายๆเว็บ ใช้พื้นที่บน Server ในเครื่องเดียวกันแบบนี้

สรุป TCP Protocol คือ โปรโตคอล ชนิดหนึ่งที่ทำงานบน internet โดยอาศัยเจ้าตัว IP ในการติดต่อสื่อสารกันระหว่าง host to host , client to host , host to client