استفاده از دستورات netstat در لینوکس

بدانید که دستور netstat و برخی از نمونه های زمان واقعی چیست.


netstat (آمار شبکه) ابزاری برای خط فرمان است که اتصالات شبکه (اعم از ورودی و خروجی) ، جداول مسیریابی و تعدادی از رابط های شبکه را نمایش می دهد..

این سیستم عامل در سیستم عامل های لینوکس ، یونیکس مانند و ویندوز موجود است. netstat قدرتمند است و می تواند ابزاری مفید برای عیب یابی مشکلات مربوط به شبکه و تأیید آمار اتصال باشد.

اگر netstat-help را تایپ کنید ، دستورالعمل استفاده زیر را دریافت خواهید کرد.

[[ایمیل محافظت شده] ~] # netstat-help
استفاده: netstat [-vWeenNcCF] [] -r netstat {-V | – تغییر | -h | –help
netstat [-vWnNcaeol] […]
netstat {[-vWeenNac] -I [] | [-veenNac] -i | [-cnNe] -M | -s [-6tuw]} [تأخیر]

-جدول مسیریابی نمایشگر r ، –route
-من ، –interfaces = جدول رابط صفحه نمایش برای
-من ، – رابط صفحه نمایش رابط
-g ، – گروه ها عضویت در گروه چند مرحله ای را نشان می دهند
-s ، – آمار شبکه های آمار نمایش داده شده (مانند SNMP)
-M ، – اتصالات نمایش داده شده با صفحه نمایش

-v ، –verbose be verbose
-W ، – در کل آدرس های IP را کوتاه نکنید
-n ، – تعداد نام ها را برطرف نکنید
–میزبانهای عددی نام میزبان را برطرف نمی کنند
–پورت های عددی نام پورت ها را برطرف نمی کنند
–کاربران عددی نام کاربران را برطرف نمی کنند
-N ، – نامهای سخت افزاری را حل کنید
-e، – اطلاعات بعدی / بعدی را نمایش دهید
-p ، – برنامه ها نام PID / Program را برای سوکت ها نشان می دهند
-o ، – تایمرها تایمر را نمایش می دهند
-c ، – لیست پیوسته پیوسته

-l ، – در حال گوش دادن سوکت های سرور گوش دادن به صفحه نمایش
-a ، – تمام سوکت ها را نمایش می دهد (پیش فرض: متصل)
-صفحه نمایش F ، –fib پایگاه اطلاعاتی انتقال (پیش فرض)
-C ، – حافظه نهان مسیریابی را به جای FIB نمایش دهید
-Z ، –context زمینه امنیتی SELinux را برای سوکت ها نمایش می دهد

= {- t | –tcp} {-u | –udp} {-U | –plplite} {-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 آزمایش شده است ، اما من دلیلی نمی بینم که بر روی موارد دیگری مانند اوبونتو کار نکنم.

اتصال برقرار شد

اگر به دنبال تمام اتصالات ایجاد شده از سرور هستید.

[[ایمیل محافظت شده] ] # 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:* LISTEN
tcp 0 0 0.0.0.0gment11 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 ::: 111 ::: * گوش دهید
tcp6 0 0 ::: 80 ::: * LISTEN
tcp6 0 0 ::: 22 ::: * گوش دهید
[[ایمیل محافظت شده] ~] #

یا می توانید برای نشان دادن تمام سوکت های گوش دادن ، از argument -l استفاده کنید.

[[ایمیل محافظت شده] ~] # netstat -l
اتصالات فعال اینترنتی (فقط سرورها)
آدرس محلی محلی Proto Recv-Q Send-Q آدرس آدرس خارجی
tcp 0 0 localhost: smtp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp6 0 0 [::]: sunrpc [::]: * LISTEN
tcp6 0 0 [::]: webcache [::]: * LISTEN
tcp6 0 0 [::]: ssh [::]: * LISTEN
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 localhost: 323 0.0.0.0:*
udp6 0 0 [::]: 805 [::]: *
udp6 0 0 [::]: sunrpc [::]: *
udp6 0 0 ip6-localhost: 323 [::]: *
پریزهای فعال یونیکس (فقط سرورها)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ACC] STREAM LISTENING 15108 / run / dbus / system_bus_socket
unix 2 [ACC] STREAM LISTENING 8202 / run / systemd / magazine / 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 عمومی / qmgr
unix 2 [ACC] STREAM LISTENING 17571 عمومی / گرگرفتگی
unix 2 [ACC] STREAM LISTENING 17553 private / tlsmgr
unix 2 [ACC] STREAM LISTENING 17586 عمومی / showq
unix 2 [ACC] STREAM LISTENING 17556 خصوصی / بازنویسی
unix 2 [ACC] STREAM LISTENING 17559 خصوصی / گزاف گویی
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 خصوصی / smtp
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 private / lmtp
unix 2 [ACC] STREAM LISTENING 17607 خصوصی / سندان
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 ::: * LISTEN 3937 / httpd
unix 3 [] STREAM CONNECTED 2442387 3937 / httpd
[[ایمیل محافظت شده] ~] #

همانطور که مشاهده می کنید از پورت 80 برای PID 3937 استفاده می شود.

کلیه آمارهای پروتکل

آیا قطع ارتباط مکرر به دلیل دور انداختن بسته وجود دارد؟ استدلال -s آمار کلی شما را نشان می دهد که می توانید به بسته های پیام های دور ریخته شده توجه کنید.

[[ایمیل محافظت شده] ~] # netstat -s
IP:
731422 تعداد بسته های دریافت شده
0 ارسال شده
0 بسته ورودی دریافت نشده اند
731399 بسته دریافتی تحویل داده شد
787732 درخواست ارسال شده است
16 به دلیل مسیر گمشده سقوط کرد
Icmp:
5277 پیام ICMP دریافت شد
120 پیام ICMP ورودی انجام نشد.
InCsumErrors: 6
هیستوگرام ورودی ICMP:
مقصد دست نیافتنی: 193
زمان تحویل: 16
درخواست echo: 5060
echo پاسخ می دهد: 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 عدد اتصال به لیست های LISTEN کاهش یافت
28179 بسته به طور مستقیم در پیش نمایش recvmsg صف می شوند.
9802 بایت به طور مستقیم از متن پیش پردازش دریافت می شود
72106 هدر بسته پیش بینی شده است
94182 تأییدیه هایی که حاوی بار داده دریافت نشده است
40094 تصدیق های پیش بینی شده
332 بار با تصدیق های انتخابی از دست دادن بسته بهبود یافت
8 ویندوز تراکم بدون شروع کند توسط DSACK بازیابی شدند
1173 ویندوز تراکم بدون شروع کند پس از جیک جزئی احیا شد
1029 زمان پایان کار پس از بازیابی SACK
8 پایان وقت در حالت از دست دادن
329 سریع انتقال می یابد
3 ارسال مجدد از جلو
32 شروع دوباره کند
44785 سایر زمانهای TCP
TCPLossProbes: 9763
TCPLossProbeRecovery: 1732
انتقال مجدد 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
InOctets: 133789295
OutOctets: 151093769
InNoECTPkts: 731338
InECT1Pkts: 3
InECT0Pkts: 1568
InCEPkts: 108
[[ایمیل محافظت شده] ~] #

اطلاعات مسیریابی هسته

مسئله مسیریابی دارید؟ یا ، اتصال به دلیل پیش بینی اتصال از طریق مسیر دیگری کار نمی کند?

جدول مسیریابی را سریع بررسی کنید.

[[ایمیل محافظت شده] ~] # netstat -r
جدول مسیریابی IP هسته
مقصد Gateway 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 eth0
link-local 0.0.0.0 255.255.0.0 U 0 0 0 eth0
[[ایمیل محافظت شده] ~] #

PID توسط شماره شماره پورت استفاده می شود

برای رفع مشکل درگیری بندر بسیار مفید است. بیایید بگوییم که شما در حال تلاش برای راه اندازی سرور Apache یا Nginx هستید ، که به پورت 80 گوش می دهد اما نمی تواند دلیل این امر را انجام دهد زیرا برخی دیگر از پروسه های موجود با استفاده از درگاه 80.

[[ایمیل محافظت شده] ] # netstat -anlp | grep 80 | grep LISTEN
tcp6 0 0 ::: 80 ::: * LISTEN 3937 / httpd
[[ایمیل محافظت شده] ~] #

و می بینید که PID 3937 از پورت استفاده می کند.

اگر از AIX استفاده می کنید ، پس

netstat -Aan | grep $ portnumber

با این کار آدرس بلوک کنترل پروتکل در شش ضلعی نمایش داده می شود

هنگامی که شما hexadecimal دارید ، می توانید در زیر اجرای کنید تا روند برگزاری شماره شماره پورت را انجام دهد.

rmsock $ آدرس_of_pcb tcpcb

لیست رابط های شبکه

دارای چند رابط اترنت؟ یا مطمئن نیستید و می خواهید بدانید?

[[ایمیل محافظت شده] ~] # 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 ::: * LISTEN 11766 / httpd
tcp6 0 0 ::: 8080 ::: * LISTEN 11766 / httpd
tcp6 0 0 ::: 8080 ::: * LISTEN 11766 / httpd
tcp6 0 0 ::: 8080 ::: * LISTEN 11766 / httpd

هنگامی که آن را به روز رسانی متوقف کند ، می دانید که خراب شده است.

نتیجه

netstat یکی از دستوراتی است که به طور گسترده توسط sysadmin استفاده می شود و امیدوارم نمونه های فوق ایده ای را در مورد کارهایی که می توانید با آن انجام دهید ارائه دهد. اگر به دنبال کسب اطلاعات بیشتر در مورد مدیریت لینوکس هستید ، این موضوع را بررسی کنید البته Udemy.

برچسب ها:

  • لینوکس

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