একটি টিসিপি / আইপি পোর্ট মুক্ত করা হচ্ছে?


146

netstat -tulnap কি বন্দর ব্যবহার হয় তা আমাকে দেখায়। কীভাবে লিনাক্সে একটি বন্দর মুক্ত করবেন?

উত্তর:


214

অন্যরা যেমন বলেছে, আপনাকে সেই বন্দরে শোনা সমস্ত প্রক্রিয়া শেষ করতে হবে। এটি করার সবচেয়ে সহজ উপায় হ'ল fuser (1) কমান্ডটি ব্যবহার করা। উদাহরণস্বরূপ, 80 পোর্টে http অনুরোধের জন্য শোনার সমস্ত প্রক্রিয়াটি দেখতে (রুট হিসাবে চালান বা sudo ব্যবহার করুন):

# fuser 80/tcp

আপনি যদি তাদের হত্যা করতে চান, তবে কেবল -k বিকল্পটি যুক্ত করুন।


1
আমি দেখতে পেয়েছি যে বন্দরে একটি অনুরোধ প্রেরণ করাও এটি পরিষ্কার করে দেয় (আমি যদিও কোনও লিনাক্স বিশেষজ্ঞ নই)
মেটেজ

1
ডেবিয়ানে ফুজার ইনস্টল করতে: sudo apt-get ইনস্টল করুন psmisc ( bitflop.com/docament/107 )
কর্নিল

1
এটা কাজ, কিন্তু আমি খুব CentOS 7 (উপর psmisc ইনস্টল করার ছিল sudo yum install psmisc)
মার্লোন Bernardes

1
kill -9 $(fuser 80/tcp 2>/dev/null)
হ্যান্নোস্কি

76

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

sudo fuser -k Port_Number/tcp

আপনার অধিকৃত বন্দরের সাথে Port_Number প্রতিস্থাপন করুন।


6
এটি আসলে সেই প্রক্রিয়াটিকে হত্যা করে যা বন্দরটি খোলেনি এবং নিজেই বন্দরটি খুলেনি।
ভিনিয়েক

16

আপনার প্রয়োজনীয় পোর্টের সংযোগটি মুছতে আপনি tcpkill( dsniffপ্যাকেজের অংশ ) ব্যবহার করতে পারেন :

sudo tcpkill -9 port PORT_NUMBER

11
এটি কেবল স্তব্ধ$ sudo tcpkill -9 port 5432 tcpkill: listening on lxcbr0 [port 5432]
এনেট্রপিক

16

টার্মিনাল টাইপ:

netstat -anp|grep "port_number"

এটি বন্দরের বিশদটি প্রদর্শন করবে। শেষ কলামে যান। এটি এই ফর্ম্যাটে হবে। যেমন: - পিআইডি / জাভা

তারপরে কার্যকর করুন:

kill -9 PID. Worked on Centos5

ম্যাকের জন্য:

lsof -n -i :'port-number' | grep LISTEN

নমুনা প্রতিক্রিয়া:

java   4744 (PID)  test  364u  IP0 asdasdasda   0t0  TCP *:port-number (LISTEN)

এবং তারপরে কার্যকর করুন:

kill -9 PID 

ম্যাকবুকে কাজ করেছেন


স্পষ্টতই এটি কাজ করে না যদি পিআইডি কলামটি সেই বন্দরের জন্য খালি থাকে
অ্যানেন্ট্রপিক

1
... এবং যদি প্রক্রিয়াটি দেখার অনুমতি না পান তবে এটি ঘটে ... sudo netstatআসলে
পিআইডিগুলি

আমি পুটি ক্লাইটের মাধ্যমে একটি অ্যামাজন ইক্য 2 উদাহরণে একটি বন্দর হত্যার চেষ্টা করছিলাম। চিরকাল বলেছে যে এর কোনও প্রক্রিয়া চলছে না তবে পোর্টটি (একটি কৌণিক অ্যাপ্লিকেশানের জন্য 4200) এখনও খোলা ছিল his এটিই আমার পক্ষে কাজ করা একমাত্র আদেশ।
vtechmonkey

9

"netstat --programs"কমান্ড আপনাকে প্রক্রিয়া তথ্য দিতে হবে, তুমি রুট অভিমানী। তারপরে আপনাকে "আপত্তিকর" প্রক্রিয়াটি মেরে ফেলতে হবে যা আপনাকে বিরক্ত করার জন্য আবার শুরু হতে পারে :-)।

আপনি এখানে আসলে কী অর্জন করার চেষ্টা করছেন? সমাধানগুলি এই বন্দরগুলি ধারণ করার প্রক্রিয়াগুলির ভিত্তিতে পরিবর্তিত হবে।


8

সমস্ত বন্দর পরীক্ষা করতে:

netstat -lnp

একটি খোলা পোর্ট বন্ধ করতে:

fuser -k port_no/tcp

উদাহরণ:

fuser -k 8080/tcp

উভয় ক্ষেত্রেই sudoপ্রয়োজনে কমান্ডটি ব্যবহার করতে পারেন ।


7

প্রশ্নে বন্দরের শোনার প্রক্রিয়াটি হত্যা করুন। আমি বিশ্বাস করি নেটস্পট আপনাকে আইডির প্রক্রিয়া দেখায়।


3
netstat -anp | grep <port> শেষ কলামটিতে প্রক্রিয়া রয়েছে
user1747935

2

আপনি যদি সত্যিই তত্ক্ষণাত কোনও প্রক্রিয়াটিকে হত্যা করতে চান, আপনি এটি টিআরএম সিগন্যালের পরিবর্তে একটি কিল সিগন্যাল প্রেরণ করুন (পরে থামার অনুরোধ, প্রথমটি কোনও ক্লিনআপ ছাড়াই অবিলম্বে কার্যকর হবে)। এটা করা সহজ:

kill -KILL <pid>

তবে সচেতন হোন যে আপনি যে প্রোগ্রামটি থামছেন তার উপর নির্ভর করে এর কাজটি করার সময় এর অবস্থা খারাপভাবে দূষিত হয়ে যেতে পারে। আপনি সাধারনত কেবল কিল সিগন্যাল পাঠাতে চান যখন স্বাভাবিক অবসানটি কাজ করে না। আমি ভাবছি যে অন্তর্নিহিত সমস্যাটি হ'ল আপনি সমাধান করার চেষ্টা করছেন এবং হত্যা হ'ল সঠিক সমাধান কিনা।


0

আমি মনে করি একমাত্র উপায় হ'ল প্রক্রিয়াটি বন্ধ করা যা বন্দরটি খুলেছে।



-14

কম্পিউটার বন্ধ করে দেওয়া সবসময় আমার জন্য প্রক্রিয়াটি মেরে ফেলে।


একটি সার্ভার মেশিন বন্ধ করা বিরল।
ওয়াকাস

23
আপনি কি আপনার "মজাদার" ব্যাজটি পেয়েছেন?
jplandrain

আপনার কম্পিউটারটি বন্ধ করার দরকার নেই।
অনিল চাহাল 16'15

সর্বকালের সেরা ধারণা 10/10
ভ্যালেন্টিন রাডজ

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