在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Netstat命令實用技巧介紹

Linux愛好者 ? 來源:YXQ ? 2019-08-09 17:32 ? 次閱讀

在調試網絡程序或者定位網絡相關問題時,有一個命令不得不知,它就是netstat。netstat命令用于查看網絡連接,路由表,網絡接口統計數據, 虛擬連接等信息。netstat的選項很多,但是本文準備介紹一些netstat命令的實用技巧。

查看某個端口是否被占用

如果你遇到“Address already in use”的錯誤,那么你就需要好好看看是不是端口已經被占用了。-a(all)參數用于列出所有監聽和非監聽狀態的連接。

$netstat-a|grep6379tcp00*:6379*:*LISTENtcp600[::]:6379[::]:*LISTEN

這里我們可以看到,有一個tcp連接使用了6379端口,并且當前處于LISTEN狀態,這些狀態信息對于分析網絡連接問題非常有幫助,我們將會在后面的文章中看到它們大放異彩。

當然你也可以使用lsof命令中的方法來查看。

查找占用端口的進程

前面雖然知道已經有進程使用了6379端口,但是不知道是哪個進程,因此為了知道進程信息,需要使用-p(program)參數:

$netstat-ap|grep6379tcp00*:6379*:*LISTEN10011/redis-servertcp600[::]:6379[::]:*LISTEN10011/redis-server

這個時候就可以看到是進程id為10011的redis-server進程占用了6379端口,至此要殺要剮就隨你便了。

查看指定協議的連接

我們都知道,除了TCP之外還有UDP,如果我們想查看指定類型的連接呢?

$netstat-at#-t,查看tcp連接ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp00192.168.0.103:42468113.96.233.139:httpsESTABLISHEDtcp00192.168.0.103:59326123.58.182.252:httpsTIME_WAITtcp00192.168.0.103:59328123.58.182.252:httpsTIME_WAIT(未顯示完全)

以此種方式,可以看到所有的TCP連接,而對于UDP連接,只需要使用-u(UDP):

$netstat-auudp00*:36305*:*udp00127.0.1.1:domain*:*udp00*:bootpc*:*udp00*:ipp*:*(未顯示完全))

當然了,這兩個參數也是可以一起用的。

除此之外,還可以使用-4或-6來指定查看ipv4還是ipv6的連接:

查看處于監聽狀態的連接

對于還沒有建立完整連接的服務器來說,它啟動后正常的狀態是LISTEN狀態,如果只想查看處于該狀態的連接,則可以使用-l(LISTEN)參數:

$netstat-lProtoRecv-QSend-QLocalAddressForeignAddressStatetcp00127.0.1.1:domain*:*LISTENtcp00localhost:5941*:*LISTENtcp00localhost:ipp*:*LISTENtcp00localhost:socks*:*LISTENtcp00*:6379*:*LISTEN(未顯示完全)

這個時候記得不要帶上-a參數,它會列出所有。

而你如果要查看其他狀態的連接,只需要結合grep使用即可,例如,查看ESTABLISHED狀態的連接:

$netstat-anp|grepESTAB(Notallprocessescouldbeidentified,non-ownedprocessinfowillnotbeshown,youwouldhavetoberoottoseeitall.)tcp00192.168.0.103:42468113.96.233.139:443ESTABLISHED2613/chrometcp00192.168.0.103:38024108.177.125.188:443ESTABLISHED2613/chrome

不解析主機,端口等信息

不知道你有沒有發現,在執行前面的命令的時候,速度很慢,讓你一度懷疑是不是自己電腦太卡了。實際上,你觀察前面的輸出結果就會發現,很多連接的主機名和端口對應的應用都解析出來了,例如:

123.58.182.252:https

所以慢是因為它需要做解析,使用-n(numeric)參數就可以快速顯示原始數字端口或地址了:

$netstat-anp

一定要自己嘗試一下奧!

持續輸出連接信息

你在定位網絡相關問題的時候,總不想執行一次觀察一次吧?能不能自動反復執行查看呢?當然可以啦!可以使用-c(continuous)參數:

$netstat-npc

這樣,它就會每隔一秒執行一次。

查看用戶和連接的iNode

這條連接是哪個用戶建立的呢?unix下一切皆文件,那么這個連接的iNode是多少呢?借助-e(extend)參數可以看到這些信息:

$netstat-entActiveInternetconnections(w/oservers)ProtoRecv-QSend-QLocalAddressForeignAddressStateUserInodetcp00192.168.0.103:42468113.96.233.139:443ESTABLISHED1000134891tcp00192.168.0.103:46556121.9.246.106:443TIME_WAIT00

可以看到在使用-e參數后,多了最后兩列,分別是user和Inode。而使用id命令可以知道該user到底是誰:

$id1000uid=1000(hyb)gid=1000(hyb)groups=1000(hyb),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)

查看連接相關的定時器

使用-o可以查看和連接相的定時器信息,

$netstat-ntoActiveInternetconnections(w/oservers)ProtoRecv-QSend-QLocalAddressForeignAddressStateTimertcp00192.168.0.103:42468113.96.233.139:443ESTABLISHEDkeepalive(18.69/0/0)tcp11192.168.0.103:43718113.96.233.139:443LAST_ACKon(19.97/7/0)tcp00192.168.0.103:38024108.177.125.188:443ESTABLISHEDkeepalive(34.76/0/0)tcp00192.168.0.103:60362123.58.182.252:443TIME_WAITtimewait(6.70/0/0)tcp600127.0.0.1:9614127.0.0.1:59736ESTABLISHEDoff(0.00/0/0)

最后的timer列相關字段含義如下:

keepalive keepalive的時間計時

on 重發的時間計時

off 沒有時間計時

timewait 等待時間計時

關于定時器的含義,需要對TCP協議有較多理解,這里就不展開了。

查看數據包統計信息

各種協議的數據包的收發情況如何呢?連接數量如何呢是用-s(statistics)參數可以查看:

$netstat-s(僅顯示了TCP協議的結果)Tcp:3067activeconnectionsopenings1passiveconnectionopenings173failedconnectionattempts587connectionresetsreceived10connectionsestablished657576segmentsreceived456349segmentssendout2700segmentsretransmited16badsegmentsreceived.1321resetssent

查看路由信息

使用-r(route)參數可以查看路由相關信息,例如:

$netstat-rKernelIProutingtableDestinationGatewayGenmaskFlagsMSSWindowirttIfacedefault192.168.0.10.0.0.0UG000wlp3s0link-local*255.255.0.0U000wlp3s0192.168.0.0*255.255.255.0U000wlp3s0

當然你也可以借助route命令完成這樣簡單的工作。

總結

netstat命令是我們定位網絡相關問題的利器,如果你還不會使用,那么最好花幾分鐘學習一下。netstat更詳細的字段解釋可以參考其手冊。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 端口
    +關注

    關注

    4

    文章

    991

    瀏覽量

    32241
  • netstat
    +關注

    關注

    0

    文章

    8

    瀏覽量

    2085

原文標題:不可不知的網絡命令:netstat

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux netstat命令詳解

    Netstat 命令用于顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
    發表于 12-26 09:45 ?879次閱讀

    每日一教labview視頻教程【12.20】labview信號處理實用技巧

    ,還將介紹常用信號處理方法的適用對象,包括頻譜分析、聯合時頻分析、小波分析、階次分析等信號處理方法的適用對象和注意事項。 labview信號處理實用技巧 配套資源:[hide][/hide]labview信號處理實用技巧視屏:h
    發表于 12-20 10:26

    LabVIEW 實用技巧.

    Labview實用技巧
    發表于 06-29 12:38

    滾動軸承故障診斷的實用技巧

      摘要:本文主要介紹滾動軸承區別于實驗室診斷的生產實用技巧。關鍵詞:滾動軸承、故障診斷、振動分析、實用技巧滾動軸承在設備中的應用非常廣泛,滾動軸承狀態好壞
    發表于 10-29 14:44 ?1625次閱讀

    netstat命令詳解

    在Internet RFC標準中,Netstat的定義是: Netstat是在內核中訪問網絡連接狀態及其相關信息的程序,它能提供TCP連接,TCP和UDP監聽,進程內存管理的相關報告。Netstat是控制臺
    的頭像 發表于 02-10 09:31 ?6664次閱讀
    <b class='flag-5'>netstat</b><b class='flag-5'>命令</b>詳解

    netstat怎么使用

    Netstat 命令用于顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
    的頭像 發表于 02-10 10:22 ?3882次閱讀
    <b class='flag-5'>netstat</b>怎么使用

    netstat查看端口占用

    Netstat是控制臺命令,是一個監控TCP/IP網絡的非常有用的工具,它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息。Netstat用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用于檢驗本機
    的頭像 發表于 02-10 10:59 ?4484次閱讀
    <b class='flag-5'>netstat</b>查看端口占用

    Linux網絡狀態工具ss命令使用詳解

    很多流行的Linux發行版都支持ss以及很多監控工具使用ss命令.熟悉這個工具有助于您更好的發現與解決系統性能問題.本人強烈建議使用ss命令替代netstat部分命令,例如netsat
    的頭像 發表于 11-12 15:43 ?4379次閱讀

    Linux查看資源使用情況和性能調優常用的命令

    目錄 前言 top命令 htop命令 ps命令 free命令 vmstat命令 iosat命令
    的頭像 發表于 11-12 17:54 ?4288次閱讀

    探究Go語言如何實現簡易版netstat命令

    netstat 使用 go 語言實現是什么操作?本文從 netstat 原理出發詳細解讀了這一實踐。 netstat 工作原理 netstat 命令
    的頭像 發表于 07-27 10:35 ?1885次閱讀
    探究Go語言如何實現簡易版<b class='flag-5'>netstat</b><b class='flag-5'>命令</b>

    Netstat-monitor網絡連接監控工具

    netstat-monitor.zip
    發表于 05-05 10:05 ?0次下載
    <b class='flag-5'>Netstat</b>-monitor網絡連接監控工具

    Netstat 命令實例介紹

    Netstat 命令用于顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
    的頭像 發表于 09-19 16:18 ?896次閱讀

    netstat命令故障排查總結

    Netstat 命令用于顯示各種網絡相關信息,如網絡連接,路由表,接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 等等。
    的頭像 發表于 01-30 09:46 ?2167次閱讀

    常用的linux命令有哪些類型

    很多流行的Linux發行版都支持ss以及很多監控工具使用ss命令.熟悉這個工具有助于您更好的發現與解決系統性能問題.本人強烈建議使用ss命令替代netstat部分命令,例如netsat
    發表于 08-04 10:51 ?372次閱讀

    后臺開發中netstat命令使用方法

    后臺開發,netstat命令總是繞不過,不僅工作中經常用過,面試也是考的多。netstat命令,對應的選項比較多,功能比較強大。netstat
    的頭像 發表于 10-08 16:21 ?657次閱讀
    主站蜘蛛池模板: 8050网午夜一级毛片免费不卡 | 九色欧美 | 亚洲一卡2卡3卡4卡5卡乱码 | 天天操天天摸天天爽 | 免费视频色 | 天天操夜夜拍 | 狠狠色噜噜狠狠狠狠97老肥女 | 国模无水印一区二区三区 | 亚洲欧美网站 | 人人狠狠综合88综合久久 | 日本黄色录像视频 | 国产女乱淫真高清免费视频 | 福利视频一区二区 | 亚洲欧美4444kkkk | 可以免费观看的黄色网址 | 久久免费看 | 在线观看免费视频国产 | 国产理论视频 | 在线视频一本 | 511韩国理论片在线观看 | 男人的天堂在线免费视频 | 亚洲黄色官网 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 欧美日韩精品乱国产538 | 四虎影院永久地址 | 精品视频一区二区三区 | 黄色一级大片视频 | 久久久成人影院 | 天天做天天看夜夜爽毛片 | 国产精品嫩草影院一二三区 | 久久青草免费免费91线频观看 | 天天天干干干 | 99久久久久国产精品免费 | 福利视频入口 | 加勒比一区二区三区 | 在线www | 亚洲网在线 | a亚洲天堂| 午夜男人的天堂 | 青草午夜精品视频在线观看 | 在线啪|