এসসি বা সিন প্যাকেটগুলি কীভাবে Tcpdump দ্বারা ক্যাপচার করবেন?


48

আমি কেবলমাত্র এসকে বা সিন প্যাকেটগুলি ক্যাপচার করতে একটি ফিল্টার নিয়ম ব্যবহার করতে চাই। আমি এটা কিভাবে করবো?


ব্যক্তিগতভাবে আমি এটি করব না। আমি সমস্ত প্যাকেট ক্যাপচার করব, তারপরে SYN এবং ACK পতাকাগুলিতে ফিল্টার করব। আপনি যদি টিসিপি সমস্যা সমাধান করছেন, আপনি প্রায় সর্বদা একটি কথোপকথন দেখতে চান, কেবল একটি হ্যান্ডশেক বা এসিকে নয়। আপনি যদি সত্যিকারের ডেটা পেডে আগ্রহী না হন তবে আপনি প্যাকেটের আকার সীমাবদ্ধ করতে পারেন tcpdump -s SIZE। টিসিপি শিরোনাম একটি পরিবর্তনশীল দৈর্ঘ্য হতে পারে, তাই ক্যাপচারিং -s 128সম্ভবত সমস্ত সম্ভাব্য শিরোনাম এবং সম্ভবত কিছুটা ডেটা পাবেন।
সুপ্রজামী

4
হতে পারে আপনি টিসিপি সমস্যা সমাধান করছেন না। সম্ভবত আপনি দেখতে চান যে কোনও প্রোগ্রাম কতটা চটুল, এবং আপনি এর বহির্মুখী সংযোগগুলি গণনা করতে চান। আমার মতো এখন
ড্যান প্রিটস

উত্তর:


81

Pcap ফিল্টার সিনট্যাক্স tcpdump জন্য ব্যবহৃত wireshark ক্যাপচার ফিল্টার ঠিক একই ভাবে কাজ করা উচিত।

Tcpdump দিয়ে আমি এই জাতীয় ফিল্টার ব্যবহার করব।

tcpdump "tcp[tcpflags] & (tcp-syn|tcp-ack) != 0"

পরীক্ষা করে দেখুন tcpdump man পৃষ্ঠা , এবং tcpflags পাসে মনোযোগ দিন।

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

আপনি যদি ক্যাপচার ফিল্টারের পরিবর্তে একটি ডিসপ্লে ফিল্টার চেয়েছিলেন তবে আপনার সম্ভবত tcp.flags.ack, এবং tcp.flags.syn সমন্বিত একটি এক্সপ্রেশন তৈরি করতে হবে। আমি যদিও ক্যাপচার ফিল্টারগুলির সাথে আরও বেশি পরিচিত, তাই আপনাকে এটি নিজেরাই কাজ করতে হবে।


1
আমি আপনার প্রতিক্রিয়া ভাল পছন্দ। দেখে মনে হচ্ছে আপনি কোনও প্রচেষ্টাতে গিয়েছিলেন। আপভোট আপনার জন্য
Ablue

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

14

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

'tcp[tcpflags] == tcp-syn or tcp[tcpflags] == tcp-ack'

সমতুল্যভাবে:

'tcp[13] == 2 or tcp[13] == 16'

চিয়ার্স!


9

শীর্ষ "সিনার্স" দেখার জন্য আমি একটি স্ক্রিপ্ট তৈরি করেছি। তার জন্য, আমি কেবলমাত্র প্রাথমিক সিন প্যাকেট (তিনটি প্যাকেট হ্যান্ডশেকের প্রথম প্যাকেট) বিবেচনা করি। অর্থাৎ syn = 1, ack = 0

while :; do
  date; 
  tcpdump -i eth1 -n -c 100 \
  'tcp[tcpflags] & (tcp-syn) != 0' and 
  'tcp[tcpflags] & (tcp-ack) == 0' 2> /dev/null \
  | awk '{ print $3}' \
  | sort | uniq -c | sort | tail -5;
  echo;
  sleep 1
done

5
এটি একটি দুর্দান্ত উদাহরণ। আপনি "tcp [tcpflags] & (tcp-syn)! = 0 'এবং' tcp [tcpflags] & (tcp-ack) == 0 '" কেবল' tcp [tcpflags এর সাহায্যে প্রতিস্থাপন করে আপনার tcpdump ক্যাপচার ফিল্টারটিকে আরও সহজ করতে পারেন ] == টিসিপি-সিন '। এটি ACK সেট সহ প্যাকেটগুলি স্বয়ংক্রিয়ভাবে বাদ দেবে। চিয়ার্স!
জেজেসি

9
tcpdump 'tcp[13] = 3'

http://danielmiessler.com/study/tcpdump/

অগ্রসর

আপনি কোনও প্যাকেটের নির্দিষ্ট অংশের উপর ভিত্তি করে ফিল্টার করতে পারবেন, পাশাপাশি একাধিক শর্তগুলিকে গ্রুপে একত্রিত করতে পারেন। পূর্ববর্তীটি কেবলমাত্র SYNগুলি বা RSTসন্ধানের ক্ষেত্রে দরকারী , উদাহরণস্বরূপ, এবং পরবর্তীকালে আরও বেশি ট্র্যাফিক বিচ্ছিন্নতার জন্য।

ইউএপি আরএসএফ

[ইঙ্গিত: টিসিপি পতাকাগুলির জন্য একটি অ্যানোগ্রাম: দক্ষ নয় এমন আক্রমণকারী পেস্টার রিয়েল সুরক্ষা লোক]

তোমার মেমো: ...

আমাকে সমস্ত জরুরি ( URG) প্যাকেটগুলি দেখান ...

tcpdump 'tcp[13] & 32 != 0'

আমাকে সমস্ত ACKNOWLEDGE ( ACK) প্যাকেট দেখান ...

tcpdump 'tcp[13] & 16 != 0'

আমাকে সমস্ত পুশ ( PSH) প্যাকেট দেখান ...

tcpdump 'tcp[13] & 8 != 0'

আমাকে সমস্ত রিসেট ( RST) প্যাকেট দেখান ...

tcpdump 'tcp[13] & 4 != 0'

আমাকে সমস্ত সিঙ্ক্রোনাইজ ( SYN) প্যাকেট দেখান ...

tcpdump 'tcp[13] & 2 != 0'

আমাকে সমস্ত ফিনিশ ( FIN) প্যাকেট দেখান ...

tcpdump 'tcp[13] & 1 != 0'

আমাকে সমস্ত সিঙ্ক্রোনাইজ / এককনোলেজ ( SYNACK) প্যাকেটগুলি দেখান ...

tcpdump 'tcp[13] = 18'

[ নোট: শুধু PSH, RST, SYN, এবং FINপতাকা tcpdump পতাকা ক্ষেত্র আউটপুটে প্রদর্শিত হয়। URGগুলি এবং ACKগুলি প্রদর্শিত হয় তবে সেগুলি পতাকা ক্ষেত্রের পরিবর্তে আউটপুটে অন্য কোথাও প্রদর্শিত হয়]


2
স্ট্যাগ এক্সচেঞ্জে প্ল্যাগারিজম অনুমতি দেয় না । আপনি লিঙ্কিত সাইট থেকে সামগ্রীটি অনুলিপি করেছেন তা পরিষ্কার করতে দয়া করে এই পোস্টটি সম্পাদনা করুন। ধন্যবাদ.
ক্রিস এস

4

আমি নিজে কেবল এসওয়াইএন প্যাকেট পেতে চেয়েছিলাম, আমি নিম্নলিখিত কমান্ডটি ব্যবহার করেছি:

tcpdump -i eth7 'tcp[13] & 2 != 0'

এটি সরাসরি আপনার জন্য কাজ করা উচিত।


3
এটি এসওয়াইএন পতাকা সেট সহ যে কোনও প্যাকেট ক্যাপচার করবে, এসআইএনএন, এসওয়াইএন-এসি, ইত্যাদি সহ যদি আপনি কেবল এসওয়াইএন প্যাকেট চান তবে পরিবর্তে 'টিসিপি [১৩] == 2' ব্যবহার করুন। চিয়ার্স!
জেজেসি

1

এটি কোনও ফিল্টার বা তর্ক ছাড়াই তাদের দেখানো উচিত।


আপনার উত্তরটি প্রযুক্তিগতভাবে সঠিক, তবে ওপি সম্ভবত তার প্রশ্নের মধ্যে "কেবল" শব্দটি অন্তর্ভুক্ত করবে। ;-) চিয়ার্স!
জেজেসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.