নির্দিষ্ট পোর্ট সহ কেবলমাত্র হোস্টগুলি এনএম্যাপ প্রদর্শন করতে পারে?


18

পারি nmapস্থানীয় নেটওয়ার্ক উভয়, SSH HTTP- র খোলা আছে এবং যে সমস্ত হোস্ট তালিকা? এটি করার জন্য, আমি এই জাতীয় কিছু চালাতে পারি:

nmap 192.168.1.1-254 -p22,80 --open

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

# nmap 192.168.1.1-254 -p22,80 --open

Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-31 10:14 EST
Nmap scan report for Wireless_Broadband_Router.home (192.168.1.1)
Host is up (0.0016s latency).
Not shown: 1 closed port
PORT   STATE SERVICE
80/tcp open  http

Nmap scan report for new-host-2.home (192.168.1.16)
Host is up (0.013s latency).
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 254 IP addresses (7 hosts up) scanned in 3.78 seconds

আমি যা খুঁজছি তা হ'ল আউটপুট:

192.168.1.16

উপরের হোস্টটি হ'ল সমস্ত পোর্ট খোলা রয়েছে।

আমি অবশ্যই আউটপুট পোস্ট-প্রক্রিয়া করতে পারি, তবে আমি এনএম্যাপের আউটপুট ফর্ম্যাটের উপর নির্ভর করতে চাই না, আমি যদি কোনও উপায় থাকে তবে এনএম্যাপটি এটি করতে চাই।


আপনি যদি কেবল একটি পোর্ট পরীক্ষা করতে চান তবে 'nmap -p 22 | গ্রেপ-বি 3 উন্মুক্ত 'একটি সহজ উপায়।
লুসিয়ানো অ্যান্ড্রেস মার্টিনি

উত্তর:


10

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

আপনি পারেন ফাইল এইসব আউটপুট সংরক্ষণ -oG, -oXঅথবা -oA(উভয় ফরম্যাটের প্লাস "স্বাভাবিক" টেক্সট আউটপুট), অথবা আপনি stdout- এ সোজা হয় এক পাঠাতে পারে:nmap 192.168.1.1-254-p22,80 --open -oG - | awk '/22\/open.*80\/open/{print $2}'


1
এটি নিখুঁত, ঠিক আমি যা খুঁজছিলাম (এর -oG -)
ব্রায়ান

2

এই awkওয়ান-লাইনারটিও বিবেচনা করুন :

nmap -Pn -oG -p22,80,443,445 - 100.100.100.100 | awk '/open/{ s = ""; for (i = 5; i <= NF-4; i++) s = s substr($i,1,length($i)-4) "\n"; print $2 " " $3 "\n" s}'

এটি আপনার নির্দিষ্ট সমস্ত খোলা পোর্টগুলির সাথে সমস্ত হোস্টকে মুদ্রণ করবে:

 100.100.100.100 (some-domain.com)
 22/open/tcp//ssh
 80/open/tcp//http
 443/open/tcp//microsoft-ds
 445/open/tcp//https-alt

এটি পরীক্ষা করার পরে আপনার অবশ্যই যুক্ত থাকতে হবে p কমান্ড লাইনে থাকা '-' এর ঠিক -OG পরে রয়েছে
ওয়েইন

1

নিম্নলিখিত কমান্ড চেষ্টা করুন:

nmap --open -p 22,80 192.168.1.1-254 -oG - | grep "/open" | awk '{ print $2 }'

এটি আপনার পরিসীমাতে আপনার বন্দরগুলির জন্য স্ক্যান করবে এবং খোলা বন্দরের সন্ধানে গ্রেপযোগ্য বিন্যাসে আউটপুটটি পাইপ করবে, তারপরে সেই মানদণ্ডগুলির মধ্যে যে কোনও আইপি অ্যাড্রেস ফিট করে print


U&L এ আপনাকে স্বাগতম! নোট করুন যে ~ 3 বছর পূর্বে গৃহীত উত্তরের উত্তরগুলির এটির একটি সহজ সংস্করণ রয়েছে যেখানে এটি গ্রেপ এবং মুদ্রণের জন্য awk ব্যবহার করে ।
জেফ শ্যাচলার

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