netstat ბრძანება Linux- ზე

შეიტყვეთ რა არის netstat ბრძანება და რეალურ დროში მოცემული მაგალითები.


netstat (ქსელის სტატისტიკა) არის ბრძანების ხაზის ინსტრუმენტი, რომელიც აჩვენებს ქსელის კავშირებს (როგორც შემომავალი და გამავალი), მარშრუტიზაციის ცხრილებს, და ქსელური ინტერფეისის რაოდენობას..

ის ხელმისაწვდომია Linux- ის, Unix- ის მსგავსი და Windows ოპერაციული სისტემებისთვის. netstat არის ძლიერი და შეიძლება იყოს გამოსაყენებელი ინსტრუმენტი ქსელთან დაკავშირებული პრობლემების გადასაჭრელად და კავშირების სტატისტიკის გადამოწმებით.

თუ აკრიფეთ netstat – help, თქვენ მიიღებთ შემდეგ გამოყენების მითითებებს.

[[ელ.ფოსტა დაცულია] ~] # netstat-help
გამოყენება: netstat [-vWeenNcCF] [] -r netstat {-V | –ვერსია | -h | – დახმარება
netstat [-vWnNcaeol] […]
netstat {[-vWeenNac] -I [] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw]} [შეფერხება]

-r, – ჩვენების მარშრუტიზაციის ცხრილი
-I, –interfaces = ჩვენების ინტერფეისის ცხრილი
-მე, – ინტერფეისის ჩვენების ინტერფეისის ცხრილი
-g, – ჯგუფებში ნაჩვენებია ჯგუფების წევრები
-s, – სტატისტიკური ჩვენების ქსელის სტატისტიკის (SNMP- ს მსგავსი)
-M, – მასკარადის ჩვენების მასკარადი კავშირები

-v, – წარმოქმნიან ზმნას
-W, – მთელს IP მისამართებს ნუ მოკლებთ
-n, – რიცხვები არ წყვეტენ სახელებს
–რიცხვითი მასპინძლები არ წყვეტენ მასპინძლის სახელებს
–ციფრული პორტები არ წყვეტენ პორტების სახელებს
–რიცხვითი მომხმარებლები არ წყვეტენ მომხმარებლის სახელებს
-N, – აპარატების სახელების სიმბოლური ამოხსნა
-e, – შემდეგი სხვა / მეტი ინფორმაციის ჩვენება
-p, – პროგრამებში ნაჩვენებია PID / პროგრამის სახელი სოკეტებისთვის
-o, – ტაიმერების ჩვენების ქრონომეტრები
-c, – უწყვეტი ჩამონათვალი

-l, – ეკრანის მოსმენის სერვერის სოკეტების მოსმენა
-a, – აჩვენეთ ყველა სოკეტი (ნაგულისხმევი: დაკავშირებული)
-F, –fib დისპლეი ინფორმაციის გადამისამართების ბაზა (ნაგულისხმევი)
-C, – Cache ეკრანის მარშრუტიზაციის ქეში FIB– ის ნაცვლად
-Z, –context ჩვენება SELinux უსაფრთხოების კონტექსტი სოკეტებისთვის

= {- t | –tcp} {-u | –udp} {-U | – ტყუპი} {-S | –sctp} {-w | –raw}
-x | –unix –ax25 –ipx –netrom
= გამოიყენეთ ‘-6 | -4’ ან ‘-A’ ან ‘-‘; ნაგულისხმევი: ინეტ
შესაძლო მიმართულების ოჯახების სია (რომლებიც მხარს უჭერენ მარშრუტიზაციას):
inet (DARPA ინტერნეტი) inet6 (IPv6) ax25 (AMPR AX.25)
netrom (AMPR NET / ROM) ipx (Novell IPX) ddp (Appletalk DDP)
x25 (CCITT X.25)
[[ელ.ფოსტა დაცულია] ~] #

ნება მიბოძეთ გიჩვენოთ ბრძანების მაგალითები. ქვემოთ მოცემულია ტესტირება RHEL / CentOS- ზე, მაგრამ მე ვერ ვხედავ რაიმე მიზეზს, რომ არ იმუშაოს სხვა დისტროზე, როგორიცაა Ubuntu.

ჩამოყალიბებული კავშირი

თუ ეძებთ ყველა დამყარებულ კავშირს სერვერისგან.

[[ელ.ფოსტა დაცულია] ~] # netstat -natu | grep ‘დამყარდა’
tcp 0 21 68.183.37.102:22 222.186.31.135:21714 დადგენილი
tcp 0 36 68.183.37.102:22 52.148.155.182:49859 დაარსდა
tcp 0 0 68.183.37.102:22 61.177.142.158:55481 დადგენილია
[[ელ.ფოსტა დაცულია] ~] #

თუ თქვენ ბევრ კავშირს დაამყარეთ და დაინტერესებული ხართ ერთ IP- ში ეძებთ, მაშინ შეგიძლიათ გამოიყენოთ სხვა grep.

[[ელ.ფოსტა დაცულია] ~] # netstat -natu | grep ‘დამყარდა’ | grep 61.177.142.158
tcp 0 1280 68.183.37.102:22 61.177.142.158:33932 დადგენილი
[[ელ.ფოსტა დაცულია] ~] #

მოსმენის კავშირი

ვთქვათ, რომ თქვენ დაიწყეთ რაიმე სერვისი და უნდა მოუსმინოთ კონკრეტულ IP- ს: პორტს, ეს გამოსადეგი იქნება.

[[ელ.ფოსტა დაცულია] ~] # netstat -an | grep ‘LISTEN’
tcp 0 0 127.0.0.1:25 0.0.0.0:* სიას
tcp 0 0 0.0.0.0gment11 0.0.0.0:* სიას
tcp 0 0 0.0.0.0:22 0.0.0.0:* სიას
tcp6 0 0 ::: 111 ::: * მოისმინე
tcp6 0 0 ::: 80 ::: * მოისმინე
tcp6 0 0 :::: 22 ::: * მოუსმინეთ
[[ელ.ფოსტა დაცულია] ~] #

ან, შეგიძლიათ გამოიყენოთ –l არგუმენტი, რომ ყველა მოსასმენი სოკეტი აჩვენოთ.

[[ელ.ფოსტა დაცულია] ~] # netstat -l
აქტიური ინტერნეტ კავშირები (მხოლოდ სერვერები)
Proto Recv-Q Send-Q ადგილობრივი მისამართი საგარეო მისამართი სახელმწიფო
tcp 0 0 localhost: smtp 0.0.0.0:* მოისმინეთ
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* მოისმინე
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* მოისმინე
tcp6 0 0 [::]: sunrpc [:]: * მოისმინე
tcp6 0 0 [::]: ვებ – ჩანთა [::]: * მოისმინეთ
tcp6 0 0 [::]: ssh [::]: * მოისმინე
udp 0 0 0.0.0.0:805 0.0.0.0:*
udp 0 0 0.0.0.0:sunrpc 0.0.0.0:*
udp 0 0 ადგილობრივი ჰოსტინგი: 323 0.0.0.0:*
udp6 0 0 [::]: 805 [::]: *
udp6 0 0 [::]: sunrpc [::]: *
udp6 0 0 ip6-localhost: 323 [::]: *
აქტიური UNIX დომენის სოკეტები (მხოლოდ სერვერები)
Proto RefCnt დროშების ტიპი I- კვანძის გზა
unix 2 [ACC] STREAM LISTENING 15108 / run / dbus / system_bus_socket
unix 2 [ACC] STREAM LISTENING 8202 / run / systemd / ჟურნალი / stdout
unix 2 [ACC] SEQPACKET LISTENING 12813 / run / udev / control
unix 2 [ACC] STREAM LISTENING 17542 საჯარო / პიკაპი
unix 2 [ACC] STREAM LISTENING 15165 /var/run/rpcbind.sock
unix 2 [ACC] STREAM LISTENING 17546 საჯარო / გამწმენდი
unix 2 [ACC] STREAM LISTENING 15605 /var/lib/gssproxy/default.sock
unix 2 [ACC] STREAM LISTENING 12706 / run / systemd / private
unix 2 [ACC] STREAM LISTENING 17549 public / qmgr
unix 2 [ACC] STREAM LISTENING 17571 საჯარო / ფლეში
unix 2 [ACC] STREAM LISTENING 17553 პირადი / tlsmgr
unix 2 [ACC] STREAM LISTENING 17586 public / showq
unix 2 [ACC] STREAM LISTENING 17556 პირადი / გადაწერა
unix 2 [ACC] STREAM LISTENING 17559 პირადი / bounce
unix 2 [ACC] STREAM LISTENING 17562 პირადი / გადადებული
unix 2 [ACC] STREAM LISTENING 17565 პირადი / კვალი
unix 2 [ACC] STREAM LISTENING 17568 პირადი / გადამოწმება
unix 2 [ACC] STREAM LISTENING 17574 პირადი / proxymap
unix 2 [ACC] STREAM LISTENING 17577 პირადი / მარიონეტული
unix 2 [ACC] STREAM LISTENING 17580 პირადი / სმ
unix 2 [ACC] STREAM LISTENING 17583 პირადი / რელე
unix 2 [ACC] STREAM LISTENING 17589 პირადი / შეცდომა
unix 2 [ACC] STREAM LISTENING 17592 პირადი / ცდისინჯება
unix 2 [ACC] STREAM LISTENING 17595 პირადი / გაუქმება
unix 2 [ACC] STREAM LISTENING 17598 კერძო / ადგილობრივი
unix 2 [ACC] STREAM LISTENING 17601 პირადი / ვირტუალური
unix 2 [ACC] STREAM LISTENING 17604 პირადი / lmtp
unix 2 [ACC] STREAM LISTENING 17607 private / anvil
unix 2 [ACC] STREAM LISTENING 17610 პირადი / სკაში
unix 2 [ACC] STREAM LISTENING 15606 /run/gssproxy.sock
[[ელ.ფოსტა დაცულია] ~] #

ისარგებლეთ grep– ით შედეგების გასაფილტრად.

PID- ის მიერ გამოყენებული პორტის ნომერი

თქვენ იცით, რომ თქვენი პროგრამა დაიწყო და იცოდეთ PID (პროცესის იდენტიფიკატორი), მაგრამ დარწმუნებული არ ხართ, რომელი პორტის ნომერი იყენებს მას. ქვემოთ მოცემულია მაგალითი PID 3937

[[ელ.ფოსტა დაცულია] ~] # netstat -anlp | grep 3937
tcp6 0 0 ::: 80 ::: * მოუსმინეთ 3937 / httpd
unix 3 [] STREAM CONNECTED 2442387 3937 / httpd
[[ელ.ფოსტა დაცულია] ~] #

როგორც ხედავთ, პორტი 80 გამოიყენება PID 3937- ისთვის.

ყველა პროტოკოლის სტატისტიკა

პაკეტის გაუქმების გამო ხშირი გათიშვა გაქვთ? არგუმენტი გაჩვენებთ სტატისტიკას, სადაც შეგიძლიათ ყურადღება მიაქციოთ შეფუთული შეტყობინებების პაკეტებს.

[[ელ.ფოსტა დაცულია] ~] # netstat –s
Ip:
სულ მიიღო 731422 მთლიანი პაკეტი
0 გაგზავნილია
0 შემომავალი პაკეტი გაუქმებულია
მიწოდებული 731399 შემომავალი პაკეტი
გაგზავნილი 787732 მოთხოვნა
დაკარგული მარშრუტის გამო 16 დაეცა
Icmp:
მიღებული იქნა 5277 ICMP შეტყობინებები
120 შეტანის ICMP გაგზავნა ვერ მოხერხდა.
InCsumErrors: 6
ICMP შეყვანის ჰისტოგრაფი:
დანიშნულება მიუწვდომელია: 193
ტრანზიტის დრო: 16
ექო მოითხოვს: 5060
ექო პასუხობს: 2
გაგზავნილია 9355 ICMP შეტყობინებები
0 ICMP შეტყობინება ვერ მოხერხდა
ICMP გამომავალი ჰისტოგრაფი:
დანიშნულების მიუწვდომელია: 4295
ექო პასუხობს: 5060
IcmpMsg:
InType0: 2
InType3: 193
InType8: 5060
InType11: 16
OutType0: 5060
OutType3: 4295
Tcp:
42 აქტიური კავშირის ღიობი
35226 პასიური კავშირის ღიობები
1693 ვერ მოხერხდა კავშირის მცდელობა
მიღებული 645 კავშირი გადატვირთულია
დამყარდა 2 კავშირი
მიღებულია 646705 სეგმენტი
648037 სეგმენტი გაგზავნის
99463 სეგმენტის გადაკეთება მოხდა
მიღებული იქნა 27377 ცუდი სეგმენტი.
150893 გადატვირთვის გაგზავნა
InCsumErrors: 27377
Udp:
მიღებული იქნა 74547 პაკეტი
უცნობი პორტის 4814 პაკეტმა მიიღო.
შეცდომით 56 პაკეტი მიიღებს შეცდომებს
გაგზავნილი 74584 პაკეტი
0 მიიღებს ბუფერულ შეცდომებს
0 გაგზავნეთ ბუფერული შეცდომები
InCsumErrors: 56
UdpLite:
TcpExt:
177 არასწორი SYN ქუქი მიიღო
მიღებული იქნა 1693 ემბრიონის SYN_RECV სოკეტებისთვის
316 TCP სოკეტების დასრულებული დრო დაელოდეთ სწრაფ ტაიმერს
3 პაკეტი უარს ამბობს დადგენილ კავშირებში დროების გამო
70248 გამოგზავნილი დაგვიანებული აკრი
6 დაგვიანებული აკი კიდევ შეფერხდა ჩაკეტილი სოკეტის გამო
სწრაფი Ack რეჟიმში გააქტიურდა 3082 ჯერ
ჩამოვიდა 17 SYN– დან LISTEN სოკეტი
28179 პაკეტი პირდაპირ რიგგარეშე წინაპირობის რიგშია.
9802 ბაიტი უშუალოდ მიიღო პროცესის კონტექსტში წინათგრძნობიდან
პროგნოზირებულია 72106 პაკეტის თავსაბურავი
94182 ცნობები, რომლებიც არ შეიცავს მონაცემების დატვირთვას
40094 პროგნოზით აღიარა
332-ჯერ გამოჯანმრთელდა პაკეტის ზარალი შერჩევითი აღიარებით
DSACK– ის ნელი დაწყების გარეშე ამოღებულია 8 შეშუპებითი ფანჯარა
1173 შეშუპებითი ფანჯარა ნაწილობრივ აკკზე მიღების შემდეგ ნელი დაწყების შემდეგ გამოჯანმრთელდა
1029 ვადის ამოღება SACK– ის აღდგენის შემდეგ
ზარალის მდგომარეობაში მყოფი 8 ვადა
329 სწრაფი გადამისამართება
3 წინ გადამისამართება
32 გადაკეთებულია ნელი დაწყებით
44785 სხვა TCP მოქმედება
TCPLossProbes: 9763
TCPLossProbe გამოცვლა: 1732
54 SACK გადაცემა ვერ მოხერხდა
ძველი პაკეტებისთვის გაგზავნილი 3144 DSACK
4 DSACK გაგზავნილია შეკვეთის გარეშე შეკვეთისთვის
მიიღო 695 DSACK
მიღებულია 1 DSACK შეკვეთის გარეშე მიღებული პაკეტებისთვის
44 კავშირი გადატვირთულია მოულოდნელი მონაცემების გამო
76 კავშირი გადატვირთულია ადრეული მომხმარებლის დახურვის გამო
6079 კავშირი შეწყვეტილია დროების გამო
TCPDSACKIgnoredNoUndo: 448
TCPSpuriousRTOs: 5
TCPSackShiftFallback: 465
IPReversePathFilter: 11
TCPRcvCoalesce: 32369
TCPOFOQueue: 4313
TCPOFOMerge: 4
TCPChallengeACK: 2
TCPSynRetrans: 43670
TCPOrigDataSent: 208010
TCPACKSkippedSeq: 12
IpExt:
InNoRoutes: 12
ინოქტორები: 133789295
OutOctets: 151093769
InNoECTPkts: 731338
INECT1 გვერდები: 3
INECT0Pkts: 1568
INCEPkts: 108
[[ელ.ფოსტა დაცულია] ~] #

ბირთვის მარშრუტიზაციის შესახებ ინფორმაცია

გვაქვს მარშრუტიზაციის საკითხი? ან, კავშირი არ მუშაობს ისე, როგორც მოსალოდნელი იყო იმის გამო, რომ სხვადასხვა მარშრუტით მოძრაობს?

სწრაფად შეამოწმეთ მარშრუტიზაციის ცხრილი.

[[ელ.ფოსტა დაცულია] ~] # netstat -r
ბირთვის IP მარშრუტიზაციის ცხრილი
დანიშნულების კარიბჭე Genmask Flags MSS Window irtt Iface
ნაგულისხმევი კარიბჭე 0.0.0.0 UG 0 0 0 eth0
10.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 Eth0
68.183.32.0 0.0.0.0 255.255.240.0 U 0 0 0 ეთ0
ბმული-ადგილობრივი 0.0.0.0 255.255.0.0 U 0 0 0 ეთ0
[[ელ.ფოსტა დაცულია] ~] #

PID გამოყენებული პორტის ნომრით

ძალიან მოსახერხებელია პორტის კონფლიქტის მოგვარების საკითხის მოსაგვარებლად. მოდით ვთქვათ, რომ თქვენ ცდილობთ გახსნათ Apache ან Nginx სერვერი, რომელიც უსმენს პორტის 80-ს, მაგრამ არ შეიძლება იმიტომ, რომ რამოდენიმე სხვა პროცესმა უკვე გამოიყენა პორტი 80.

[[ელ.ფოსტა დაცულია] ~] # netstat -anlp | grep 80 | მისმინე
tcp6 0 0 ::: 80 ::: * მოუსმინეთ 3937 / httpd
[[ელ.ფოსტა დაცულია] ~] #

თქვენ ხედავთ, რომ PID 3937 იყენებს ამ პორტს.

თუ იყენებთ AIX- ს, მაშინ

netstat -Aan | grep $ portnumber

ეს აჩვენებს პროტოკოლის საკონტროლო ბლოკის მისამართს ჰექსადეციალში

როდესაც თქვენ გაქვთ hexadecimal, შემდეგ შეგიძლიათ შეასრულოთ ქვემოთ, რომლითაც პროცესს მართავს პორტის ნომერი.

rmsock $ მისამართი_of_pcb tcpcb

ქსელის ინტერფეისების სია

მრავალჯერადი Ethernet ინტერფეისები გაქვთ? დარწმუნებული არ არის და მსურს ამის გარკვევა?

[[ელ.ფოსტა დაცულია] ~] # netstat -i
ბირთვის ინტერფეისის ცხრილი
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 793026 0 0 0 849443 0 0 0 BMRU
lo 65536 6 0 0 0 6 0 0 0 LRU
[[ელ.ფოსტა დაცულია] ~] #

უწყვეტი მოსმენა

შესანიშნავი ვარიანტია პრობლემების მოგვარების სერვისების კრახთან დაკავშირებული საკითხების მოგვარების დროს. ვთქვათ, აპლიკაცია შემთხვევით იშლება ყოველ რამდენიმე წუთში. დარწმუნებული არ არის როდის. შეგიძლიათ გამოიყენოთ –c არგუმენტი, რომელიც მუდმივად აჩვენებს შედეგებს.

[[ელ.ფოსტა დაცულია] ~] # netstat -anlpc | grep 8080
tcp6 0 0 :::: 8080 ::: * მოუსმინეთ 11766 / httpd
tcp6 0 0 :::: 8080 ::: * მოუსმინეთ 11766 / httpd
tcp6 0 0 :::: 8080 ::: * მოუსმინეთ 11766 / httpd
tcp6 0 0 :::: 8080 ::: * მოუსმინეთ 11766 / httpd

როდესაც ის შეწყვეტს განახლებას, მაშინ თქვენ იცით მისი ავარიული.

დასკვნა

netstat sysadmin- ის მიერ ფართოდ გამოყენებული ბრძანებებია და იმედი მაქვს, რომ ზემოთ მოყვანილი მაგალითები მოგცემთ იდეას იმის შესახებ, თუ რისი გაკეთება შეგიძლიათ ამით. თუ თქვენ ცდილობთ შეიტყოთ მეტი ინფორმაცია Linux– ის ადმინისტრირების შესახებ, შეამოწმეთ ეს Udemy კურსი.

ტეგები:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map