আমি কেবলমাত্র এসকে বা সিন প্যাকেটগুলি ক্যাপচার করতে একটি ফিল্টার নিয়ম ব্যবহার করতে চাই। আমি এটা কিভাবে করবো?
আমি কেবলমাত্র এসকে বা সিন প্যাকেটগুলি ক্যাপচার করতে একটি ফিল্টার নিয়ম ব্যবহার করতে চাই। আমি এটা কিভাবে করবো?
উত্তর:
Pcap ফিল্টার সিনট্যাক্স tcpdump জন্য ব্যবহৃত wireshark ক্যাপচার ফিল্টার ঠিক একই ভাবে কাজ করা উচিত।
Tcpdump দিয়ে আমি এই জাতীয় ফিল্টার ব্যবহার করব।
tcpdump "tcp[tcpflags] & (tcp-syn|tcp-ack) != 0"
পরীক্ষা করে দেখুন tcpdump man পৃষ্ঠা , এবং tcpflags পাসে মনোযোগ দিন।
ক্যাপচার এবং ডিসপ্লে ফিল্টার সম্পর্কে ওয়্যারশার্ক উইকির বিভাগগুলিও পরীক্ষা করে দেখুন। দুর্ভাগ্যক্রমে দুটি ধরণের ফিল্টার একই জিনিসটির জন্য সম্পূর্ণ আলাদা সিনট্যাক্স এবং বিভিন্ন নাম ব্যবহার করে।
আপনি যদি ক্যাপচার ফিল্টারের পরিবর্তে একটি ডিসপ্লে ফিল্টার চেয়েছিলেন তবে আপনার সম্ভবত tcp.flags.ack, এবং tcp.flags.syn সমন্বিত একটি এক্সপ্রেশন তৈরি করতে হবে। আমি যদিও ক্যাপচার ফিল্টারগুলির সাথে আরও বেশি পরিচিত, তাই আপনাকে এটি নিজেরাই কাজ করতে হবে।
@ জোরেডাচের উত্তরটি দুর্দান্ত এবং সম্পূর্ণরূপে, নোট করুন যে সিনট্যাক্সের সাথে এমন কোনও প্যাকেট আসবে যেগুলিতে টিসিপি এসওয়াইএন বা টিসিপি এসি পতাকা পতাকা রয়েছে, প্যাকেটগুলি সহ কঠোরভাবে কেবল সরল "টিসিপি এসওয়াইএন" বা "টিসিপি এসি" প্যাকেট নয়, কারণ তারা এছাড়াও অন্যান্য পতাকা সেট আছে। আপনি (বা ভবিষ্যতের পাঠক) যা ইচ্ছা করেছিলেন এটি হতে পারে বা নাও হতে পারে। উদাহরণস্বরূপ, এই সিনট্যাক্সটি টিসিপি এসওয়াইএন-এসি প্যাকেটগুলি, টিসিপি এফআইএন-এসি, ইত্যাদিও ক্যাপচার করবে যদি আপনি কেবল টিসিপি এসওয়াইএন বা টিসিপি এসি প্যাকেট (যেমন সেই পতাকাগুলির মধ্যে একটি মাত্র জাস্ট সেট) চান, সঠিক ক্যাপচার ফিল্টার সিনট্যাক্সটি হ'ল:
'tcp[tcpflags] == tcp-syn or tcp[tcpflags] == tcp-ack'
সমতুল্যভাবে:
'tcp[13] == 2 or tcp[13] == 16'
চিয়ার্স!
শীর্ষ "সিনার্স" দেখার জন্য আমি একটি স্ক্রিপ্ট তৈরি করেছি। তার জন্য, আমি কেবলমাত্র প্রাথমিক সিন প্যাকেট (তিনটি প্যাকেট হ্যান্ডশেকের প্রথম প্যাকেট) বিবেচনা করি। অর্থাৎ 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
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
গুলি প্রদর্শিত হয় তবে সেগুলি পতাকা ক্ষেত্রের পরিবর্তে আউটপুটে অন্য কোথাও প্রদর্শিত হয়]
আমি নিজে কেবল এসওয়াইএন প্যাকেট পেতে চেয়েছিলাম, আমি নিম্নলিখিত কমান্ডটি ব্যবহার করেছি:
tcpdump -i eth7 'tcp[13] & 2 != 0'
এটি সরাসরি আপনার জন্য কাজ করা উচিত।
tcpdump -s SIZE
। টিসিপি শিরোনাম একটি পরিবর্তনশীল দৈর্ঘ্য হতে পারে, তাই ক্যাপচারিং-s 128
সম্ভবত সমস্ত সম্ভাব্য শিরোনাম এবং সম্ভবত কিছুটা ডেটা পাবেন।