คำถามติดแท็ก netstat

netstat เป็นเครื่องมือสำหรับดูการเชื่อมต่อเครือข่ายผู้ฟังและซ็อกเก็ตที่ใช้งานอยู่

5
ความแตกต่างระหว่างที่อยู่ IP 0.0.0.0 และ 127.0.0.1 คืออะไร
ฉันรู้ว่า 127.0.0.1 ~ 127.255.255.254 เป็นที่อยู่ IP ลูปแบ็คสำหรับระบบปฏิบัติการที่ทันสมัยที่สุดและที่อยู่ IP เหล่านี้สามารถใช้เพื่ออ้างถึงคอมพิวเตอร์ของเราเอง แต่ 0.0.0.0 คืออะไร ดูเหมือนว่ามันยังหมายถึงคอมพิวเตอร์ในพื้นที่ดังนั้นความแตกต่างคืออะไร และคุณสามารถอธิบายการเชื่อมต่อ IP ต่อไปนี้ให้ฉันได้ไหม
220 ip  ip-address  netstat 

6
วิธีค้นหาการเชื่อมต่อซ็อกเก็ตปลายอีกด้าน
ฉันมีกระบวนการ (dbus-daemon) ซึ่งมีการเชื่อมต่อแบบเปิดมากมายผ่านซ็อกเก็ต UNIX หนึ่งในการเชื่อมต่อเหล่านี้คือ fd # 36: =$ ps uw -p 23284 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND depesz 23284 0.0 0.0 24680 1772 ? Ss 15:25 0:00 /bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session =$ ls -l /proc/23284/fd/36 lrwx------ 1 depesz depesz 64 …
44 linux  unix  netstat  socket  dbus 

4
ฉันจะทำให้ cURL ใช้ keepalive จากบรรทัดคำสั่งได้อย่างไร
ฉันพยายามตรวจสอบว่ามีการใช้การเชื่อมต่อ HTTP แบบถาวรในระหว่างการสื่อสารกับเว็บเซิร์ฟเวอร์ Tomcat ที่ฉันใช้งานอยู่ ขณะนี้ฉันสามารถดึงทรัพยากรบนเซิร์ฟเวอร์ของฉันจากเบราว์เซอร์ (เช่น Chrome) และตรวจสอบโดยใช้ netstat ว่าการเชื่อมต่อได้ถูกสร้างขึ้นแล้ว: # visit http://server:8080/path/to/resource in Chrome [server:/tmp]$ netstat -a ... tcp 0 0 server.mydomain:webcache client.mydomain:55502 ESTABLISHED อย่างไรก็ตามถ้าฉันใช้ curl ฉันไม่เคยเห็นการเชื่อมต่อบนเซิร์ฟเวอร์ใน netstat [client:/tmp]$ curl --keepalive-time 60 --keepalive http://server:8080/path/to/resource ... [server:/tmp]$ netstat -a # no connection exists for client.mydomain ฉันได้ลองใช้คำสั่ง curl ต่อไปนี้: curl …
36 http  tcp  curl  netstat  keepalive 

6
การเชื่อมต่อ TIME_WAIT จำนวนมากบอกว่า netstat
โอเคสิ่งนี้กำลังคืบคลานออกไป - ฉันเห็นสิ่งเหล่านี้ประมาณ 1,500-25,000 root@wherever:# netstat Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:60930 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60934 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60941 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60947 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60962 localhost:sunrpc TIME_WAIT tcp 0 0 localhost:60969 localhost:sunrpc TIME_WAIT …

6
พอร์ตเครือข่ายเปิด แต่ไม่มีกระบวนการเชื่อมต่อหรือไม่
ฉันมีสถานการณ์แปลก ๆ เกิดขึ้นกับพอร์ตเครือข่ายเปิด คำถามหลักของฉันคือทำไมจะไม่มีโปรแกรมที่เกี่ยวข้องกับพอร์ต TCP ที่เปิดอยู่: netstat -ln --program Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN - สำหรับกรณีเฉพาะของฉันควรจะมีฟังก์ชั่น nrpe daemon (ติดตั้ง opsview) ที่พอร์ต 5666 แต่ไม่มี nrpe daemon กำลังทำงานอยู่ ถ้าฉันพยายามที่จะเริ่มมันออกทันที lsof -i :5666ไม่แสดงผลลัพธ์ใด ๆ ไม่มี (x) inetd …

6
netstat แสดงพอร์ตการฟังที่ไม่มี pid แต่ lsof ไม่ได้
คำถามนี้คล้ายกับพอร์ตเครือข่ายที่เปิดอยู่ แต่ไม่มีกระบวนการเชื่อมต่อหรือไม่ ฉันลองทุกอย่างจากที่นั่นตรวจสอบบันทึก ฯลฯ ... และหาอะไรไม่พบ netstat ของฉันแสดงพอร์ตการฟัง TCP และพอร์ต UDP โดยไม่มี pid เมื่อฉันค้นหาพอร์ตเหล่านั้นไม่มีอะไรเกิดขึ้น netstat -lntup Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:44231 0.0.0.0:* LISTEN - udp 0 0 0.0.0.0:55234 0.0.0.0:* - คำสั่งต่อไปนี้ไม่แสดงผลใด ๆ : lsof | grep 44231 lsof | greo 55234 …
21 port  netstat  rpc 

9
ฉันจะกำจัดซ็อกเก็ตในสถานะ FIN_WAIT1 ได้อย่างไร
ฉันมีพอร์ตที่ถูกบล็อกโดยกระบวนการที่ฉันต้องการฆ่า (telnet daemon เล็กน้อยที่ล้มเหลว) กระบวนการถูกฆ่าสำเร็จ แต่พอร์ตยังอยู่ในสถานะ 'FIN_WAIT1' มันไม่ได้ออกมาจากมันหมดเวลาสำหรับที่ดูเหมือนจะถูกตั้งค่าเป็น 'ทศวรรษ' วิธีเดียวที่ฉันพบว่าเพิ่มพอร์ตคือรีบูตเครื่องทั้งหมดซึ่งเป็นสิ่งที่ฉันไม่ต้องการทำ $ netstat -tulnap | grep FIN_WAIT1 tcp 0 13937 10.0.0.153:4000 10.0.2.46:2572 FIN_WAIT1 - ไม่มีใครรู้ว่าฉันจะได้รับพอร์ตนี้ถูกปิดกั้นโดยไม่ต้องรีบูตเครื่อง?
18 linux  port  netstat 

2
Netstat รีเฟรชอย่างต่อเนื่อง (นาฬิกาเปลี่ยนเอาต์พุต)
ฉันใช้คำสั่งง่ายๆนี้เพื่อตรวจสอบการเชื่อมต่อ (เพื่อจัดการกับการโจมตี DoS ล่าสุด) บนเซิร์ฟเวอร์ Debian ของฉัน: netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n ฉันจะเรียกใช้อย่างต่อเนื่องได้อย่างไร ดังนั้นมันจะรีเฟรชตัวเองหนึ่งครั้งต่อนาที (หรือระยะเวลาที่กำหนดแน่นอน) ฉันลองดู: watch -n 30 "netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n" …
18 linux  debian  netstat 

4
ตรวจสอบ TCP บนเซิร์ฟเวอร์: เปรียบเทียบ netstat กับ lsof?
ฉันกำลังตรวจสอบ TCP สแต็กบนเซิร์ฟเวอร์หวังว่าจะอนุมานปัญหาทั่วไปเกี่ยวกับแอปพลิเคชันในกล่อง ความโน้มเอียงแรกของฉันคือการวัดจำนวนซ็อกเก็ตในทุกสถานะที่รายงาน (LISTEN, ESTABLISHED, FIN_WAIT2, TIME_WAIT ฯลฯ ) และตรวจสอบความผิดปกติบางอย่าง เพื่อนร่วมทีมแนะนำว่า 'lsof' จะเป็นเครื่องมือที่ดีกว่าในการดูว่าสแต็ก TCP อยู่ในสถานะใด การตั้งค่าหรือเคล็ดลับประสบการณ์จากฝูงชน serverfault หรือไม่
12 linux  unix  tcp  netstat  lsof 

1
Netstat ค้าง: ทำไม
บางครั้ง (ไม่บ่อยเกินไป) เมื่อฉันพิมพ์ "netstat" จะใช้เวลากลับไป 5 วินาที ในขณะที่เวลาอื่นทันที ฉันเฝ้าสังเกตการณ์นี้เป็นเวลาหลายสัปดาห์บนเซิร์ฟเวอร์ของฉัน (CentOS 6.4) แต่ฉันไม่เข้าใจว่าทำไม! ใครช่วยอธิบายได้บ้าง

2
วิธีฆ่าการเชื่อมต่อ TCP โดยใช้ยูทิลิตี้ tcpkill
ฉันพยายามที่จะฆ่าเชื่อมต่อ TCP tcpkillก่อตั้งขึ้นโดยใช้ การเชื่อมต่อเป็นการเชื่อมต่อ HTTPS แบบเปิด มันปรากฏบน netstat เป็น: tcp 0 0 X.X.X.X:55601 X.X.X.X:https ESTABLISHED ดังนั้นตามman pageฉันป้อน: $ tcpkill -i eth1 -9 port 443 เอาต์พุตยูทิลิตี้ tcpkill: tcpkill: listening on eth1 [port 443] ... และจากนั้นก็หยุด หลังจากรอประมาณ 15 นาทีฉันไม่แน่ใจว่าเกิดอะไรขึ้นที่นี่ ฉันกำลังทำอะไรผิดหรือเปล่า?
11 linux  tcp  netstat 

5
netstat -ntap ไม่แสดงชื่อ pid / process สำหรับการเชื่อมต่อบางอย่าง?
ฉันมีเซิร์ฟเวอร์ ubuntu / hardy พร้อม kernel 2.6.24-23-server และ netstat: # netstat --version net-tools 1.60 netstat 1.42 (2001-04-15) ปัญหาคือเรามีการเชื่อมต่อ ESTABLISHED จำนวนมากที่ไม่แสดง PID หรือชื่อโปรแกรมในnetstat -ntapเอาต์พุต Netstat ถูกเรียกมาจากรากไม่มี chroots, grsecurity และไม่มีอะไรแบบนี้ (หรืออย่างนั้นฉันก็บอก :) มีความคิดเกี่ยวกับสิ่งที่อาจจะผิดหรือเปล่า? UPDATE lsof -n -i ทำงานได้ดีและแสดงชื่อ pid / process สำหรับการเชื่อมต่อ


3
ซีแมนทิกส์ของ :: และ 0.0.0.0 ในระบบปฏิบัติการแบบดูอัลสแต็ก
ย้อนกลับไปในวันที่มี IPv4 เท่านั้นการเชื่อมต่อ LISTEN ที่แสดงในnetstatขณะที่กำลังฟัง0.0.0.0จะตอบสนองต่อการเชื่อมต่อบนอินเตอร์เฟส IPv4 ใด ๆ ในระบบ ตามที่ฉันเข้าใจแล้วสำนวนใหม่ของ IPv6 ::จะฟังในอินเทอร์เฟซIPv6 และ IPv4 ที่มีอยู่ทั้งหมด ถูกต้องหรือไม่สำหรับทุก OS (Unix, Windows, Mac) มีสำนวนที่ต้องฟังในอินเตอร์เฟส IPv6 หรือไม่?
10 linux  windows  ip  ipv6  netstat 

2
TIME_WAIT ของฉันอยู่ที่ไหนใน Mac OS X
ไม่มีTIME_WAITใน Mac OS X โดยปกติเมื่อปิดการเชื่อมต่อ TCP ซ็อกเก็ตด้านข้างที่close()เรียกว่าครั้งแรกจะถูกทิ้งให้อยู่ในTIME_WAITสถานะ เมื่อเพื่อนคนหนึ่งเป็นเครื่อง Mac OS X (Lion) TIME_WAITจะไม่มีรายชื่ออยู่netstat -anบน Mac หากclose()มีการเรียกครั้งแรกทางด้าน Mac อย่างไรก็ตามดูเหมือนว่าซ็อกเก็ตอยู่ในTIME_WAITสถานะจริงเนื่องจากพยายามโทรlisten()อีกครั้ง (โดยไม่ใช้ตัวเลือกซ็อกเก็ตSO_REUSEADDR) ทำให้listen()ล้มเหลว กำลังรอ 2 * MSL (อายุการใช้งานส่วนสูงสุดซึ่งคือ 15 วินาทีบน Mac OS X Lion ตามที่รายงานโดยsysctl net.inet.tcp.msl) จะล้างTIME_WAITสถานะและlisten()สามารถเรียกได้อีกครั้งโดยไม่มีข้อผิดพลาด ทำไมฉันไม่สามารถดูซ็อกเก็ตในTIME_WAIT? การทดสอบ ต่อไปนี้เป็นโปรแกรมทดสอบอย่างง่ายสองโปรแกรมใน Python เซิร์ฟเวอร์ #!/usr/bin/env python import socket HOST = '' PORT = 50007 l …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.