මගේ විවෘත ජාල වරායන් නෙට්ස්ටැට් සමඟ ලැයිස්තුගත කරන්නේ කෙසේද?


230

බිල්ට් විධාන සහිතව මගේ විවෘත ජාල වරායන් ටර්මිනලයේ ලැයිස්තුගත කිරීමට මම කැමතියි. මා දන්නා පරිදි, netstatභාවිතා කිරීමට ඇති විධානය වේ. නමුත් එයින් ප්‍රයෝජනවත් තොරතුරු ලබා ගැනීමට මම වෙහෙසෙමි.

මගේ විවෘත වරායන් ලැයිස්තුගත කරන්නේ කෙසේද netstat? මෙම අවස්ථාවේදී මට උපකාර වන විශේෂිත කොඩි තිබේද?

Answers:


338
netstat -ap tcp | grep -i "listen"

Achive Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)   
tcp4       0      0  localhost.25035        *.*                    LISTEN
sudo lsof -PiTCP -sTCP:LISTEN

COMMAND     PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
GitHub      850 grgarside   6u   IPv4 0x23c345381d089301      0t0  TCP localhost:25035 (LISTEN)

2
ස්තූතියි! කෙසේ වෙතත්, ප්‍රතිදානය කියවීමට තරමක් අපහසු නමුත් lsofඑය ටිකක් හොඳයි, ස්තූතියි.
ජොනස්

12
ඔබ භාවිතා කළ යුතුයි sudo lsof .... සුඩෝ නොමැතිව, lsof හට දැකිය හැක්කේ ඔබ සතුව ඇති ක්‍රියාවලි පමණි, එබැවින් පද්ධති ක්‍රියාවලීන් මඟින් විවෘත කරන ලද කිසිදු වරායක් නොපෙන්වයි. එසේම, ඔබට grep විධානය මඟ හැරිය හැක්කේ ඔබට LISTEN තත්වයේ ඇති වරායන් පමණක් දැකීමට අවශ්‍ය බව පවසමිනි sudo lsof -PiTCP -sTCP:LISTEN.
ගෝර්ඩන් ඩේවිසන්

1
GNU සමඟ netstat, ඔබට එක් එක් වරාය විවෘත කළ ක්‍රියාවලියේ pid විකල්පයක් ලෙස ලැයිස්තු ගත කළ හැකිය. BSD සමඟ ද එම හැසිරීම ලබා ගැනීමට ක්‍රමයක් netstatතිබේද?
ක්‍රිස්

2
මම දැන් කළා, -vධජය හැරෙන බව. පිඩ් එක දෙවන සිට අන්තිම තීරුවේ ඇත.
ක්‍රිස්

1
ඇයි "listen"සහ නැත්තේ listen?
user1071847

72

සමහර විට ඔබට lsof භාවිතා කළ හැකිය:

lsof -Pn -i4

-i4 යන්නෙන් අදහස් කරන්නේ ipv4 ලිපිනය සහ වරාය -P සහ -n වේගවත් ප්‍රතිදානය පමණි

ප්‍රතිදානය මේ වගේ

  lsof -Pn -i4 | grep LISTEN
QQPlatfor 22767 xxxx   15u  IPv4 0x36c2bfa04e49385d      0t0  TCP *:49969 (LISTEN)
GoAgentX  33377 xxxx    4u  IPv4 0x36c2bfa06e68b12d      0t0  TCP *:56154 (LISTEN)
GoAgentX  33377 xxxx   20u  IPv4 0x36c2bfa04e492f8d      0t0  TCP 127.0.0.1:56155 (LISTEN)

2
මෙම විධානය කරන්නේ කුමක්ද?
නොහිල්සයිඩ්

3
lsofවිවෘත ගොනු ලැයිස්තුගත කරයි. ජාල සොකට් ලිපිගොනු ලෙස ගණන් ගැනේ, එබැවින් සෑම විවෘත ජාල සොකට් එකක්ම (සවන්දීම හෝ ක්‍රියාකාරීව භාවිතයේ පවතී) ලැයිස්තුගත කෙරේ lsof.
ක්‍රේග් වෙළෙන්දා

එය ක්‍රියාවලි හැඳුනුම්පත ද පෙන්වයි (නෙට්ස්ටැට් නැත)
lib

1
lsof -Pn -i6IPV6 සඳහා
ජැරඩ් බරෝස්

2
මගේ යන්ත්‍රයක් අවම වශයෙන්, මෙම පිළිතුර 0.1s ගත වන අතර @ grgarside හි 28+ s වේ. වෙනස වන්නේ -i4IPv4 ලිපින පමණක් බැලීමට ස්විචයයි.
ඩාවෝර් කුබ්රානික්

9

පළමුවෙන්ම, මම BSD විශේෂ expert යෙක් නොවෙමි, නමුත් OP මෙන් මට අවශ්‍ය වූයේ පහත සඳහන් දෑ * නික්ස් පෙට්ටියක හෝ ආසන්න යමක් ධාවනය කිරීමට සමාන වේ:

netstat -tulpn

MacOS හි lsof * සහ netstat * ලබා දෙන වෙනත් ප්‍රශ්න / පිළිතුරු මම කියවා ඇත්තෙමි, මට තවමත් වඩා සංයුක්ත ප්‍රතිදානයක් සහිත යමක් අවශ්‍ය විය. ඉතින්, මම ඉක්මනින්ම එකතු කරන්නේ මෙයයි:

netstat -Watnlv | grep LISTEN | awk '{"ps -o comm= -p " $9 | getline procname;colred="\033[01;31m";colclr="\033[0m"; print cred "proto: " colclr $1 colred " | addr.port: " colclr $4 colred " | pid: " colclr $9 colred " | name: " colclr procname;  }' | column -t -s "|"

එය ටිකක් වැඩිපුර, ඒ නිසා මම හොඳ මිනුමක් සඳහා නිමැවුමට වර්ණය එකතු කළෙමි. මට මතක තබා ගැනීමට හෝ ටයිප් කිරීමට අවශ්‍ය නැති නිසා, මෙම බෙහෙමොත්. මම එය බාෂ් ශ්‍රිතයකට දමා අවශ්‍ය විටෙක එය අමතන්න. මෙන්න බාෂ් ශ්‍රිතය:

macnst (){
    netstat -Watnlv | grep LISTEN | awk '{"ps -o comm= -p " $9 | getline procname;colred="\033[01;31m";colclr="\033[0m"; print colred "proto: " colclr $1 colred " | addr.port: " colclr $4 colred " | pid: " colclr $9 colred " | name: " colclr procname;  }' | column -t -s "|"
}

I / .bash_profile, හෝ ~ / .zshrc වෙතින් මා ලබා ගන්නා ගොනුවක මෙම පහසුව පිළිබඳ කුඩා එකතුවක් මා සතුව ඇත. මෙය එකතුවට එකතු කරනු ලැබේ. මෙය වඩාත් සිහින් / සිහින් කිරීමට වෙනත් අවස්ථාවන් දැකීම සිත්ගන්නාසුළු වනු ඇත.

නියැදි ප්‍රතිදානය:

> macns
proto: tcp4     addr.port: 127.0.0.1.9999     pid: 70078    name:  /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp46    addr.port: *.35729            pid: 70078    name:  /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp46    addr.port: *.62087            pid: 70078    name:  /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp46    addr.port: *.62070            pid: 70078    name:  /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp46    addr.port: *.62085            pid: 70078    name:  /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/bin/java
proto: tcp4     addr.port: *.61993            pid: 70043    name:  /Applications/IntelliJ IDEA.app/Contents/MacOS/idea
proto: tcp46    addr.port: *.61992            pid: 70065    name:  /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4     addr.port: 127.0.0.1.42329    pid: 70065    name:  /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4     addr.port: 127.0.0.1.61983    pid: 70043    name:  /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4     addr.port: 127.0.0.1.63342    pid: 70043    name:  /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4     addr.port: 127.0.0.1.6942     pid: 70043    name:  /Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java
proto: tcp4     addr.port: 127.0.0.1.3075     pid: 67931    name:  /Applications/electerm.app/Contents/Frameworks/electerm Helper.app/Contents/MacOS/electerm Helper
proto: tcp6     addr.port: *.58640            pid: 320      name:  /usr/libexec/rapportd
proto: tcp4     addr.port: *.58640            pid: 320      name:  /usr/libexec/rapportd
proto: tcp4     addr.port: 127.0.0.1.9770     pid: 71       name:  /Applications/Pritunl.app/Contents/Resources/pritunl-service

කරුණාකර ටර්මිනල් බොට් වල gifs කේතයක් ලෙස ආකෘතිගත නොකරන්න. එය ඔබ විශාල අකුරු අවශ්ය නම් කියවීමට gard ද දුෂ්කර ti පිටපතක් වේ
user151019

රූපය gif එකක් නොවේ, එය ප්‍රතිදානය පෙන්වන තිරයක් පමණි. ඔබ හරහා ක්ලික් කළහොත් එය PNG එකක් ලෙස පෙනෙනු ඇත. Imgur හි සත්කාරකත්වය දරයි .. නමුත් StackExchange පෙරනිමියෙන් මා අනුමාන කරයි. කෙසේ වෙතත්, ඔබ වෙනත් තිර රුවක් සොයන්නේ නම්, මට නැවත අල්ලා ගත හැකිය.
kroolk

මගේ අදහස් දැක්වීමේදී GIF තිර පිටපත මගින් ප්‍රතිස්ථාපනය කරන්න එය කුමන ආකෘතියක් වුවත් එය වැදගත් නොවේ. කාරණය වන්නේ එය පෙළ විය යුතුය
user151019

නියැදි නිමැවුමෙන් දිගු විධානය ඉවත් කිරීමෙන් පසුව, එය දැන් තිර පිටපතක් ලෙස වඩා හොඳින් ක්‍රියා කරනු ඇත, මන්ද එයින් පිටපත් කිරීමට අවශ්‍ය කිසිවක් නැති නිසාත්, පෙරට වඩා හොඳින් වගා කළ හැකි නිසාත් ය.
mwfearnley

8

සරලම ක්‍රමය භාවිතා කිරීම netstat:

$ netstat -ap tcp
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  10.0.2.23.58792        17.172.233.109.5223    ESTABLISHED
tcp4      87      0  my_iMac__at_home.55481 stackoverflow.co.http  ESTABLISHED
tcp4     116      0  my_iMac__at_home.55478 stackoverflow.co.http  ESTABLISHED
tcp4      58      0  my_iMac__at_home.63452 stackoverflow.co.http  ESTABLISHED
tcp4      87      0  my_iMac__at_home.63429 stackoverflow.co.http  ESTABLISHED
tcp4       0      0  localhost.63173        localhost.773          ESTABLISHED
tcp4       0      0  localhost.773          localhost.63173        ESTABLISHED
tcp4       0      0  localhost.63173        *.*                    LISTEN     
tcp4       0      0  localhost.63172        *.*                    LISTEN     
tcp4       0      0  localhost.ipp          *.*                    LISTEN     
tcp6       0      0  localhost.ipp          *.*                    LISTEN     

… කිසිදු පෙරනයක් නොමැතිව, නිවැරදි ශීර්ෂයන් ලබා ගැනීමට සහ සේවාදායකයන් දෙකම සවන්දීම දැකීමට සහ සම්බන්ධතා දැනටමත් දෙපැත්තෙන්ම පිහිටුවා ඇත. මෙම උදාහරණයේ දී, 1 වන පේළිය මගේ මැක් සිට සම්බන්ධතාවයක් පෙන්නුම් කරයි 17.172.233.109, එය තවදුරටත්:

whois 17.172.233.109

මට ඉගැන්නුවා එය පිහිටා තිබෙන්නේ ඇපල් වල කියලා.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.