উইন্ডোজ মেশিনে ওয়্যারশার্ক প্যাকেট গ্রহণ এবং প্রক্রিয়াজাতকরণ পদ্ধতি কী?


20

আমি আমার উইন্ডোজ কম্পিউটারে কিছু ট্র্যাফিক পর্যবেক্ষণের জন্য ওয়্যারশার্ক ব্যবহার করতে চলেছি । এটিতে কাজ করার সময় আমি ভাবছিলাম যে উইন্ডোজ করার আগে ওয়্যারশার্ক কীভাবে নিম্ন স্তরের নেটওয়ার্ক প্যাকেটগুলি ধরতে পরিচালিত করে।

প্রথমত, আমার এনআইসির একটি নেটওয়ার্ক ইন্টারফেস একটি প্যাকেট গ্রহণ করে। এনআইসি তারপরে কিছু প্রাথমিক চেক (সিআরসি, ডান ম্যাকের ঠিকানা, ইত্যাদি) করে। যাচাইকরণ সফল হয়েছে তা ধরে নিয়ে এনআইসি প্যাকেটটি এগিয়ে দেয়। কিন্তু কিভাবে এবং কোথায়?

আমি বুঝতে পারি যে ড্রাইভারগুলি এনআইসি এবং ওএস বা অন্য কোনও অ্যাপ্লিকেশনগুলির মধ্যে আঠালো। আমি আরও অনুমান করি যে উইন্ডোজ এবং ওয়্যারশার্কের জন্য একটি আলাদা ড্রাইভার আছে ( উইনপ্যাক্যাপ ?)? অন্যথায়, ওয়্যারশার্ক ইথারনেট ফ্রেমগুলি গ্রহণ করতে সক্ষম হবে না । দু'জন বা আরও বেশি এনআইসি ড্রাইভার একই সাথে সহাবস্থান করছেন? এনআইসি কীভাবে জানতে পারে, কোনটি ব্যবহার করতে হবে?


আপনার ভিত্তিটি ভুল। এনআইসি সর্বদা প্যাকেটটি উইন্ডোজকে হস্তান্তর করে (বিশেষত, ডিভাইস ড্রাইভার এবং তারপরে নেটওয়ার্ক স্ট্যাকের কাছে) এবং উইন্ডোজের সাথে এটি কী করা উচিত তা স্থির করে। উইন্ডোজের একটি বৈশিষ্ট্য রয়েছে যেখানে কোনও প্রোগ্রাম প্যাকেটগুলি "তারে থাকায়" কপিগুলি পেতে জিজ্ঞাসা করতে পারে, সম্ভবত কোনও ফিল্টার প্রয়োগ করে এবং ওয়্যারশার্ক সেই বৈশিষ্ট্যটি ব্যবহার করে। উইনারশার্ক উইন্ডোজকে বাইপাস করে না
zwol

(পরীক্ষামূলক অপারেটিং সিস্টেমগুলি রয়েছে যা সরাসরি কার্ড থেকে অ্যাপ্লিকেশনে প্যাকেটগুলি সরবরাহ করার অনুমতি দিয়ে অত্যন্ত উচ্চ-গতির নেটওয়ার্কিং আরও ভাল করার চেষ্টা করে, তবে আফাইক উইন্ডোজ এটি করতে পারে না: আপনি সর্বদা কমপক্ষে এনডিআইএস স্তরটি অতিক্রম করে যান))
zwol

উত্তর:


38

উইন্ডোজ আই / ও মডেল উপাদানগুলির একটি স্ট্যাকের উপর ভিত্তি করে। শারীরিক নেটওয়ার্ক কার্ডের মধ্যে থাকা স্ট্যাকের বিভিন্ন উপাদান এবং ডেটা গ্রাস করবে এমন অ্যাপ্লিকেশনটির মাধ্যমে ডেটা অবশ্যই প্রবাহিত হবে। কখনও কখনও এই বিভিন্ন উপাদানগুলি স্ট্যাকের মধ্য দিয়ে প্রবাহিত হওয়ার সাথে সাথে ডেটা (উদাহরণস্বরূপ একটি টিসিপি প্যাকেট) পরিদর্শন করে এবং সেই প্যাকেটের সামগ্রীর উপর ভিত্তি করে ডেটা পরিবর্তন করা যেতে পারে, বা প্যাকেটটি পুরোপুরি ফেলে দেওয়া যেতে পারে।

নেটওয়ার্ক স্তর

এটি "নেটওয়ার্ক স্ট্যাক" এর একটি সরলীকৃত মডেল যা প্যাকেটগুলি অ্যাপ্লিকেশন থেকে তারে এবং তার বিপরীতে যাওয়ার জন্য প্রবাহিত হয়।

উপরের স্ক্রিনশটে প্রদর্শিত আকর্ষণীয় উপাদানগুলির মধ্যে একটি হ'ল ডাব্লুএফপি (উইন্ডোজ ফিল্টারিং প্ল্যাটফর্ম) কলআউট এপিআই। যদি আমরা এটিতে জুম করে থাকি তবে এটি দেখতে এরকম কিছু হতে পারে:

উইন্ডোজ ফিল্টারিং প্ল্যাটফর্ম

বিকাশকারীরা এই স্ট্যাকের উপযুক্ত জায়গায় তাদের নিজস্ব মডিউলগুলি প্লাগ করতে মুক্ত। উদাহরণস্বরূপ, অ্যান্টিভাইরাস পণ্যগুলি সাধারণত "ফিল্টার ড্রাইভার" ব্যবহার করে যা এই মডেলটিতে প্লাগ ইন করে এবং নেটওয়ার্ক ট্র্যাফিক পরিদর্শন করে বা ফায়ারওয়াল ক্ষমতা সরবরাহ করে। উইন্ডোজ ফায়ারওয়াল পরিষেবাটি স্পষ্টতই এই মডেলটির সাথেও খাপ খায়।

যদি আপনি এমন কোনও অ্যাপ্লিকেশন লিখতে চেয়েছিলেন যা ওয়্যারশার্কের মতো নেটওয়ার্ক ট্র্যাফিক রেকর্ড করে, তবে এটি করার উপযুক্ত উপায়টি হ'ল আপনার নিজের ড্রাইভার ব্যবহার করা এবং এটি যতটা সম্ভব স্ট্যাকের মধ্যে সন্নিবেশ করা যাতে এটি নেটওয়ার্ক প্যাকেট সনাক্ত করতে পারে আপনার ফায়ারওয়াল মডিউলটি সেগুলি ফেলে দেওয়ার সুযোগ পাওয়ার আগেই।

সুতরাং এই প্রক্রিয়াটিতে অনেক "ড্রাইভার" জড়িত রয়েছে। ড্রাইভার বিভিন্ন ধরণের। এছাড়াও, সিস্টেমে অন্যান্য ইনপুট / আউটপুট যেমন হার্ড ডিস্ক ড্রাইভ পড়তে এবং লেখার জন্য অনুরূপ মডেলগুলি অনুসরণ করে।

অন্য একটি নোট - ডাব্লুএফপি কলআউটগুলি নেটওয়ার্ক স্ট্যাকের মধ্যে নিজেকে অন্তর্নিহিত করার একমাত্র উপায় নয়। উদাহরণস্বরূপ উইনপ্যাক, সরাসরি এনডিআইএসের সাথে একটি ড্রাইভারের সাথে ইন্টারফেস করে, যার অর্থ কোনও ফিল্টারিংয়ের আগেই ট্র্যাফিককে থামানোর সুযোগ রয়েছে।

এনডিআইএস ড্রাইভার

WinPCap

তথ্যসূত্র:

ভিস্টা + তে নেক্সট জেনারেশন টিসিপি / আইপি স্ট্যাক

উইন্ডোজ ফিল্টারিং প্ল্যাটফর্ম আর্কিটেকচার


3
অসামান্য ডায়াগ্রাম। এগুলি কি কোথাও মাইক্রোসফট.কম এ পোস্ট করা হয়েছে? যদি তা হয় তবে আমি চারপাশে ঝুঁকতে এবং এইগুলির পাশাপাশি অন্যান্য কী কী তথ্য উপলব্ধ রয়েছে তা দেখতে চাই see
EEAA

1
নিখুঁত উত্তর. ভাল এবং সহজভাবে ব্যাখ্যা করা হয়েছে, দুর্দান্ত দৃশ্য এবং উত্স সরবরাহ করা হয়েছে! তোমাকে অনেক ধন্যবাদ!
হানসি

1
+1, উল্লেখযোগ্য যে এখানে ডাব্লুএফপি-র উপরে নির্মিত একটি ওপেন সোর্স ড্রাইভার রয়েছে যা উইনডাইভার্ট নামে এই জাতীয় অ্যাপ্লিকেশন লিখতে একেবারে তুচ্ছ করে তোলে । আমি এর জন্য একটি। নেট র‌্যাপারও লিখেছি ।

1
এটি "লেয়ার্ড সার্ভিস প্রোভাইডার" নামক কিছু ছিল - যেখানে আপনি প্যাকেটগুলি পুনরায় লিখতে এবং পুনরায় লিখতে পারতেন - সেই ক্ষমতাটির কি কোনও প্রতিস্থাপন আছে? এটি "ফিল্টারিং" এপিআইয়ের অংশ? (ওহ অপেক্ষা করুন, কিছু মনে করবেন না: আমি কেবল @ টেকনিক এম্পায়ারের উইনডাইভার্ট লিঙ্কটি দেখেছি এবং এটি সম্ভব কিনা তাও দেখছি))
ডেভিডবাক

1
@ ডেভিডবাক হ্যাঁ, উইনডাইভার্ট একটি ধরণের হাইব্রিড id কলআউট ড্রাইভার এপিআইগুলি হ'ল ডেভেলপারদের জন্য নির্দিষ্ট ড্রাইভার তৈরি করা যা কেবল প্যাকেট ফেলে দেওয়ার বাইরে কিছু করতে পারে (কোনও ড্রাইভারের প্রয়োজন নেই)। উইনডাইভার্ট এমন ড্রাইভার তবে এটি জেনেরিক, কার্নেল এবং ব্যবহারকারী মোড স্পেসের বাইরে এবং বাইরে প্যাকেটগুলি ধাক্কা দিয়ে এবং পপিংয়ের মাধ্যমে প্যাকেটগুলিতে সম্পূর্ণ অ্যাক্সেস সরবরাহ করে।

3

যেমন রায়ান রিস এর উত্তর বলে:

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

এবং এই একটি বিবরণ, WinPcap ডকুমেন্টেশন, যে কিভাবে কাজ হয়


রায়ান এর উত্তরের সম্পাদনা হিসাবে এটি আরও ভাল হত। এটি নিজের মতো করে কোনও উত্তর নয়।
মনিকা

2
আসলে, হ্যাঁ, এটা হল আরো যাতে তুলনায় রায়ান এর উত্তর - তার প্রশ্নের উত্তর। প্রশ্নটি ছিল "ওয়্যারশার্ক কীভাবে এটি করেন"; রায়ান এর উত্তরটি এমন একটি প্রক্রিয়া সম্পর্কে প্রচুর তথ্য দেয় যা WinPcap (যা ওয়্যারশার্ক ব্যবহার করে) ব্যবহার করে না , তাই এটি অবশ্যই আকর্ষণীয় তবে মূল প্রশ্নের সাথে প্রাসঙ্গিক নয়। লিংক আমি পোস্ট তা বর্ণনা করে WinPcap এটা আছে, যা হয় মূল প্রশ্ন প্রাসঙ্গিক।

7
আপনি যদি তৃতীয় পক্ষের সংস্থান থেকে প্রাসঙ্গিক প্যাসেজগুলি উদ্ধৃত করে ব্যাখ্যা করেন explained আর কিছু না হলে, একটি লিঙ্ক-কেবল উত্তরটি কোনও উত্তর নয়। এটা এসই নীতি। আপনার সমস্ত উত্তর এই পৃষ্ঠায় যুক্ত করেছে, আক্ষরিক অর্থে, "এখানে রাইসের উত্তর ইন্টারনেটে অন্য কোথাও কীভাবে কাজ করে তার বর্ণনা রয়েছে"
মনিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.