আমার প্রোগ্রামিং এর পথ চলা শুরু রিভার্স ইঞ্জিনিয়ারিং দিয়ে। কিন্তু মজার বিষয় হচ্ছে আমি শুরুর দিকে নিজেও জানতাম না এটা রিভার্স ইঞ্জিনিয়ারিং। যাইহোক কথা বাড়িয়ে লাভ নেই আসুন দেখি কিভাবে এন্ড্রয়েড অ্যাপ এর ডাটা পরিক্ষা করা যায়।
যা যা দরকার হবে
- এন্ড্রয়েড ৫.0/৬.0 (ললিপপ/ মার্সমেলো)। বি দ্রঃ এন্ড্রয়েড এর পরবর্তী ভার্সন গুলতে গুগল ইন্ডিভিজুয়াল এস এস এল সার্টিফিকেট পিনিং এ পারমিসন দিচ্ছে না, সেক্ষেত্রে এনক্রিপ্টেড ডাটা মনিটর করা সম্ভব হয় না।
- https://goo.gl/aHcxex এই এন্ড্রয়েড অ্যাপ ডাউনলোড করে ইন্সটল করে নিন। এরপর অ্যাপটি চালু করলে নিচের ছবির মত পারমিশন দিতে Request বাটন এ ক্লিক করুন।

পারমিশন

Allow
এরপর Allow করুন।

Certificate
Ok বাটন এ ক্লিক করুন। প্রাথমিক কাজ শেষ এবার SSL Capture অ্যাপটি চালু করেন ডানদিকের উপরে প্লে বাটনটি প্রেস করুন।

start

stop
উপরের ছবিটি খেয়াল করলে বুজতে পারবেন আপনার SSL Capture অ্যাপটি চালু আছে। এবার আপনি
যে এন্ড্রয়েড অ্যাপ এর ইনকামিং এবং আউটগোয়িং ডাটা পরিক্ষা করতে চান সেটি চালু করুন।

capture
দেখুন SSL Capture অ্যাপ এর Capture ট্যাব এ অনেক ডাটা মনিটর হচ্ছে। এবার আসুন আমরা বুঝার চেষ্টা করি কোন ডাটা আমাদের স্মার্টফোন থেকে সার্ভার এ যাচ্ছে এবং কোন ডাটা অ্যাপ এর সার্ভার থেকে আমাদের মোবাইল এ আসছে।

উপরের ডাটা প্যকেটটি খেয়াল করলে দেখতে পাবেন Request Head নামে একটি টাইটেল আছে তারপর POST / দিয়ে শুরু হয়েছে। এর মানে হচ্ছে এই প্যকেটটি আমাদের মোবাইল অ্যাপ থেকে ডাটা সার্ভার এ পাঠাচ্ছে।
অ্যাপটি কি কি ডাটা তাদের সার্ভার পাঠাচ্ছে? উপরের ছবিতে দেখুন Request body নামে একটি টাইটেল আছে এবং এর ভিতরে যা দেখবেন সেটাই সার্ভার এ পাঠানো হচ্ছে।

এবার উপরের ডাটা প্যকেটটি খেয়াল করলে দেখতে পাবেন Request Head এর পরে GET/ দিয়ে শুরু হয়েছে। এর মানে হচ্ছে এই প্যকেটটি সার্ভার থেকে ডাটা আমাদের স্মার্টফোনের অ্যাপ এ পাঠানোর জন্য রিকুয়েস্ট করেছে।
সার্ভার থেকে কি কি ডাটা আমাদের স্মার্টফোন এ আসবে?

উপরের ছবিতে দেখুন Response body নামে একটি টাইটেল আছে এবং এর ভিতরে যা দেখবেন সেটাই সার্ভার থেকে আমাদের স্মার্টফোন এ এসেছে।
কম্পিউটার থেকেও এন্ড্রয়েড অ্যাপ এর ডাটা মনিটর করা যায়। সেটা না হয় অন্য একদিন বলবো।
ভাল থাকুন।