რა უნდა იცოდე
- ნეტსტატის გასაშვებად და თქვენი Mac-ის ქსელის შესახებ დეტალური მონაცემების სანახავად, გახსენით ახალი ტერმინალი ფანჯარა, ჩაწერეთ netstat და დააჭირეთშეიყვანეთ.
- შეზღუდეთ netstat-ის გამომავალი დროშებითა და ოფციებით. netstat-ის ხელმისაწვდომი ვარიანტების სანახავად, ბრძანების სტრიქონში აკრიფეთ man netstat.
- გამოიყენეთ lsof ბრძანება, რათა შეავსოთ netstat-ის გამოტოვებული ან შეზღუდული ფუნქციონალობა, მათ შორის ნებისმიერ აპში გახსნილი ნებისმიერი ფაილის ჩვენების ჩათვლით.
ეს სტატია განმარტავს, თუ როგორ უნდა გაუშვათ netstat Terminal ბრძანება macOS-ში, რათა ნახოთ დეტალური ინფორმაცია თქვენი Mac-ის ქსელური კომუნიკაციების შესახებ, მათ შორის, თუ როგორ ესაუბრება თქვენი Mac გარე სამყაროსთან, ყველა პორტსა და ყველა აპლიკაციაში.
როგორ გავუშვათ Netstat
ნეტსტატის გამოყენების სწავლა დაგეხმარებათ გაიგოთ თქვენი კომპიუტერის კავშირები და რატომ. netstat ბრძანება ხელმისაწვდომია Mac-ებზე ნაგულისხმევად. თქვენ არ გჭირდებათ მისი ჩამოტვირთვა ან ინსტალაცია.
ნეტსტატის გასაშვებად:
-
გადადით Finder > გადადით > უზრუნველყოფა.
-
დააწკაპუნეთ ორმაგად ტერმინალ.
-
ახალ ტერმინალის ფანჯარაში აკრიფეთ netstat და დააჭირეთ Return (ან Enter) ბრძანების შესასრულებლად.
-
თქვენს ეკრანზე დაიწყება ტექსტის უზარმაზარი რაოდენობა. თუ თქვენ არ იყენებთ არცერთ ხელმისაწვდომ დროშას (იხ. ქვემოთ), netstat აცნობებს თქვენს Mac-ზე აქტიურ ქსელურ კავშირებს.თანამედროვე ქსელური მოწყობილობის მიერ შესრულებული ფუნქციების რაოდენობის გათვალისწინებით, შეგიძლიათ ველით, რომ სია გრძელი იქნება. სტანდარტულ მოხსენებას შეუძლია 1000 სტრიქონზე გასვლა.
Netstat დროშები და ოფციები
netstat-ის გამომავალი გაფილტვრა აუცილებელია იმის გასაგებად, თუ რა ხდება თქვენი Mac-ის აქტიურ პორტებზე. Netstat-ის ჩაშენებული დროშები საშუალებას გაძლევთ დააყენოთ ვარიანტები, ზღუდავთ ბრძანების ფარგლებს.
netstat-ის ყველა ხელმისაწვდომი ვარიანტის სანახავად, აკრიფეთ man netstat ბრძანების სტრიქონში, რათა გამოაშკარავოთ netstat-ის კაცი (მოკლედ "სახელმძღვანელო") გვერდი. თქვენ ასევე შეგიძლიათ ნახოთ netstat-ის კაცის გვერდის ონლაინ ვერსია.
სინტაქსი
მნიშვნელოვანია აღინიშნოს, რომ netstat macOS-ზე არ მუშაობს ისე, როგორც netstat Windows-სა და Linux-ზე. დროშების ან სინტაქსის გამოყენებამ netstat-ის იმ დანერგვიდან შეიძლება არ გამოიწვიოს მოსალოდნელი ქცევა.
MacOS-ზე netstat-ზე დროშებისა და ვარიანტების დასამატებლად გამოიყენეთ შემდეგი სინტაქსი:
netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f address_family] [-I ინტერფეისი] [-p პროტოკოლი] [-w ლოდინი]
თუ ზემოთ ჩამოთვლილი სტენოგრამა სრულიად გაუგებრად გამოიყურება, ისწავლეთ ბრძანების სინტაქსის წაკითხვა.
სასარგებლო დროშები
აქ არის რამდენიმე ყველაზე ხშირად გამოყენებული დროშა:
- - a შეიცავს სერვერის პორტებს netstat-ის გამომავალში, რომლებიც არ შედის ნაგულისხმევ გამომავალში.
- - g აჩვენებს ინფორმაციას, რომელიც დაკავშირებულია მულტიკასტის კავშირებთან.
- - I ინტერფეისი უზრუნველყოფს პაკეტურ მონაცემებს მითითებული ინტერფეისისთვის. ყველა ხელმისაწვდომი ინტერფეისის ნახვა შესაძლებელია - i დროშით, მაგრამ en0 ჩვეულებრივ არის ნაგულისხმევი გამავალი ქსელის ინტერფეისი. (გაითვალისწინეთ პატარა ასო.)
- - n ახშობს დისტანციური მისამართების ეტიკეტს სახელებით. ეს აჩქარებს netstat-ის გამომუშავებას და გამორიცხავს მხოლოდ შეზღუდულ ინფორმაციას.
- - p პროტოკოლი ჩამოთვლის კონკრეტულ ქსელურ პროტოკოლთან დაკავშირებულ ტრაფიკს. პროტოკოლების სრული სია ხელმისაწვდომია მისამართზე /etc/protocols, მაგრამ ყველაზე მნიშვნელოვანი არის udp და tcp.
- - r აჩვენებს მარშრუტიზაციის ცხრილს, რომელიც აჩვენებს, თუ როგორ ხდება პაკეტების მარშრუტირება ქსელში.
- - s აჩვენებს ქსელის სტატისტიკას ყველა პროტოკოლისთვის, მიუხედავად იმისა, აქტიურია თუ არა პროტოკოლები.
- - v ზრდის სიტყვიერებას, კონკრეტულად სვეტის დამატებით, რომელიც აჩვენებს პროცესის ID (PID) დაკავშირებულ თითოეულ ღია პორტს.
Netstat-ის მაგალითები
განიხილეთ ეს მაგალითები:
netstat -apv TCP
ეს ბრძანება აბრუნებს მხოლოდ TCP კავშირებს თქვენს Mac-ზე, ღია პორტებისა და აქტიური პორტების ჩათვლით. ის ასევე იყენებს სიტყვიერ გამომავალს, სადაც მითითებულია PID-ები, რომლებიც დაკავშირებულია თითოეულ კავშირთან.
netstat -a | grep -i "მოსმენა"
netstat და grep-ის ეს კომბინაცია ავლენს ღია პორტებს, ეს არის პორტები, რომლებიც უსმენენ შეტყობინებას. მილის სიმბოლო | აგზავნის ერთი ბრძანების გამოსავალს მეორე ბრძანებაზე.აქ არის netstat მილების გამომავალი grep, რაც საშუალებას გაძლევთ მოძებნოთ საკვანძო სიტყვა "მოსმენა" და იპოვოთ შედეგები.
წვდომა Netstat-ზე Network Utility-ის მეშვეობით
თქვენ ასევე შეგიძლიათ წვდომა netstat-ის ზოგიერთ ფუნქციაზე Network Utility აპლიკაციის მეშვეობით, რომელიც შედის macOS ვერსიებში Catalina-მდე (ის არ შედის Big Sur-ში).
Network Utility-ზე მოსახვედრად, Spotlight Search-ში აკრიფეთ აპის გასაშვებად, შემდეგ აირჩიეთ Netstat ჩანართი წვდომისთვის გრაფიკული ინტერფეისი.
არჩევნები Network Utility-ში უფრო შეზღუდულია, ვიდრე ის, რაც ხელმისაწვდომია ბრძანების სტრიქონში. რადიო ღილაკის ოთხი არჩევიდან თითოეული აწარმოებს წინასწარ დაყენებულ netstat ბრძანებას და აჩვენებს გამომავალს.
netstat ბრძანებები თითოეული რადიოს ღილაკისთვის არის შემდეგი:
- მარშრუტიზაციის ცხრილის ინფორმაციის ჩვენება გაშვება netstat -r.
- აჩვენეთ ყოვლისმომცველი ქსელის სტატისტიკა თითოეული პროტოკოლისთვის გაშვება netstat -s.
- მულტიგადაცემის ინფორმაციის ჩვენება გაშვება netstat -g.
- ყველა მიმდინარე სოკეტის კავშირის მდგომარეობის ჩვენება გაშვება netstat.
Netstat-ის დამატება Lsof-ით
netstat-ის macOS-ის იმპლემენტაცია არ მოიცავს იმ ფუნქციურობას, რასაც მომხმარებლები მოელიან და სჭირდებათ. მიუხედავად იმისა, რომ მას აქვს თავისი გამოყენება, netstat არ არის ისეთი სასარგებლო macOS-ზე, როგორც Windows-ზე. სხვა ბრძანება, lsof, ანაცვლებს გამოტოვებული ფუნქციის დიდ ნაწილს.
Lsof აჩვენებს აპებში ამჟამად გახსნილ ფაილებს. თქვენ ასევე შეგიძლიათ გამოიყენოთ იგი აპთან დაკავშირებული ღია პორტების შესამოწმებლად. გაუშვით lsof -i, რომ ნახოთ ინტერნეტით კომუნიკაციის აპლიკაციების სია. ეს არის, როგორც წესი, მიზანი Windows-ის აპარატებზე netstat-ის გამოყენებისას; თუმცა, ამ ამოცანის შესრულების ერთადერთი მნიშვნელოვანი გზა macOS-ზე არის არა netstat, არამედ lsof.
Lsof Flags და Options
ყველა ღია ფაილის ან ინტერნეტ კავშირის ჩვენება, როგორც წესი, მრავლისმეტყველია. ამიტომ lsof-ს გააჩნია დროშები კონკრეტული კრიტერიუმებით შედეგების შეზღუდვისთვის. ყველაზე მნიშვნელოვანი ქვემოთ მოცემულია.
დამატებითი დროშებისა და თითოეულის ტექნიკური ახსნა-განმარტებისთვის, იხილეთ lsof's man გვერდი ან გაუშვით man lsof ტერმინალის მოთხოვნაზე.
- - i აჩვენებს ღია ქსელის კავშირებს და პროცესის სახელს, რომელიც იყენებს კავშირს. 4-ის დამატება, როგორც - i4-ში, აჩვენებს მხოლოდ IPv4 კავშირებს. ამის ნაცვლად 6 დამატება (- i6) აჩვენებს მხოლოდ IPv6 კავშირებს.
- - i დროშა ასევე შეიძლება გაფართოვდეს დამატებითი დეტალების დასაზუსტებლად. -iTCP ან -iUDP აბრუნებს მხოლოდ TCP და UDP კავშირებს. -iTCP:25 აბრუნებს მხოლოდ TCP კავშირებს 25-ე პორტზე. პორტების დიაპაზონი შეიძლება იყოს მითითებული ტირეთი, როგორც ეს -iTCP:25-50.
- [email protected]ის გამოყენება აბრუნებს მხოლოდ კავშირებს IPv4 მისამართთან 1.2.3.4. IPv6 მისამართები შეიძლება იყოს მითითებული იმავე გზით. @ წინამორბედი ასევე შეიძლება გამოყენებულ იქნას ჰოსტების სახელების დასაზუსტებლად, მაგრამ ორივე დისტანციური IP მისამართების და ჰოსტების სახელების ერთდროულად გამოყენება შეუძლებელია.
- - s ჩვეულებრივ აიძულებს lsof აჩვენოს ფაილის ზომა. მაგრამ როდესაც დაწყვილდება - i დროშა, - s მუშაობს სხვაგვარად. ამის ნაცვლად, ის საშუალებას აძლევს მომხმარებელს მიუთითოს პროტოკოლი და სტატუსი ბრძანების დასაბრუნებლად.
- - p ზღუდავს lsof-ს კონკრეტული პროცესის ID-ზე (PID). მრავალი PID-ის დაყენება შესაძლებელია საერთო საშუალების გამოყენებით, როგორიცაა -p 123, 456, 789. პროცესის ID შეიძლება ასევე გამოირიცხოს ^-ით, როგორც 123, ^456-ში, რომელიც კონკრეტულად გამორიცხავს PID 456-ს.
- - P გამორთავს პორტების ნომრების გადაქცევას პორტების სახელებად, აჩქარებს გამომავალს.
- - n გამორთავს ქსელის ნომრების ჰოსტების სახელებად გადაქცევას. როდესაც გამოიყენება ზემოთ - P, მას შეუძლია მნიშვნელოვნად დააჩქაროს lsof-ის გამომუშავება.
- - u მომხმარებელი აბრუნებს მხოლოდ დასახელებული მომხმარებლის კუთვნილ ბრძანებებს.
მაგალითები
აქ არის lsof-ის გამოყენების რამდენიმე გზა.
lsof -nP [email protected]:513
ეს კომპლექსური ბრძანება ჩამოთვლის TCP კავშირებს ჰოსტის სახელით lsof.itap და პორტით 513. ის ასევე მუშაობს lsof-ის გარეშე. სახელების IP მისამართებთან და პორტებთან დაკავშირება, რაც ბრძანებას შესამჩნევად უფრო სწრაფად ახორციელებს.
lsof -iTCP -sTCP:LISTEN
ეს ბრძანება აბრუნებს ყველა TCP კავშირს სტატუსით LISTEN, გამოავლენს ღია TCP პორტებს Mac-ზე. ის ასევე ჩამოთვლის იმ ღია პორტებთან დაკავშირებულ პროცესებს. ეს არის მნიშვნელოვანი განახლება netstat-თან შედარებით, სადაც ჩამოთვლილია მაქსიმუმ PID-ები.
sudo lsof -i -u^$(whoami)
სხვა ქსელის ბრძანებები
სხვა ტერმინალის ქსელის ბრძანებები, რომლებიც შეიძლება იყოს საინტერესო თქვენი ქსელის შესამოწმებლად, მოიცავს arp, ping და ipconfig.