首頁 > 軟體

Linux命令列netstat總結

2020-06-16 17:29:53

1、所謂的監聽就是某個服務程式會一直常駐在記憶體中,所以該程式啟動的Port就會一直存在。

2、在小於1023的埠,都是需要以root身份才能夠啟動的。

3、大於1024以上的Port主要是作為client端的軟體啟動的Port。

4、DNS是非可靠的聯機服務,使用UDP服務。

5、檢視port   

# cat /etc/services 

6、常用來觀察port的服務有兩個命令 
 
  netstat:  在本機上以自己的程式監測自己的Port 
  nmap: 通過網路的偵測軟體輔助,可偵測非本機其他網路主機

7、列出網路服務  Local Address (列出所有的開放的埠)
 

# netstat -tunl 
  tcp        0      0 0.0.0.0:44845              0.0.0.0:*                  LISTEN     
  tcp        0      0 0.0.0.0:60622              0.0.0.0:*                  LISTEN     
  tcp        0      0 0.0.0.0:36367              0.0.0.0:*                  LISTEN     

8、列出本機與其他主機連線的埠

#netstat -tun
  tcp        0      0 17.0.100.1:1025            17.0.105.95:54492          ESTABLISHED
  tcp        0      0 17.0.100.1:1024            17.0.105.31:54505          ESTABLISHED
  tcp        0      0 17.0.100.1:1025            17.0.102.63:55152          ESTABLISHED

9、查詢出已經建立連線的埠和進程號
 

#netstat -tunp 
  tcp        0      0 17.0.100.1:1025            17.0.105.95:54492          ESTABLISHED 24041/mpirtm3d     
  tcp        0      0 17.0.100.1:1024            17.0.105.31:54505          ESTABLISHED 24040/mpirtm3d     
  tcp        0      0 17.0.100.1:1025            17.0.102.63:55152          ESTABLISHED 24041/mpirtm3d

  如要殺死進程mpirtm3d, kill -9 24041

10、使用預設引數掃描本機所啟動的port

 #nmap localhost (在預設情況下,nmap只會掃描tcp)
    PORT    STATE SERVICE
    21/tcp  open  ftp
    22/tcp  open  ssh
    111/tcp  open  rpcbind
    512/tcp  open  exec
    513/tcp  open  login
    514/tcp  open  shell
    631/tcp  open  ipp
    1024/tcp open  kdm
    1025/tcp open  NFS-or-IIS
    1099/tcp open  rmiregistry
    5001/tcp open  commplex-link
    5989/tcp open  wbem-https
    7200/tcp open  fodms
    7201/tcp open  dlip
    8008/tcp open  http
    9090/tcp open  zeus-admin

11、檢視所有的port(TCP, UDP) 

#nmap -sTU localhost  (檢視TCP和UDP的Port)
    PORT    STATE        SERVICE
    21/tcp  open          ftp
    22/tcp  open          ssh
    111/tcp  open          rpcbind
    512/tcp  open          exec
    513/tcp  open          login
    111/udp  open          rpcbind
    123/udp  open          ntp
    631/udp  open|filtered ipp

12、檢視幾部主機在你的網路中
    #nmap -sP 192.168.0.0/24

13、檢視出該主機已經建立的埠和Port

#netstat -tnlp
    tcp        0      0 :::111                      :::*                        LISTEN      3689/rpcbind       
    tcp        0      0 :::80                      :::*                        LISTEN      4654/httpd         
    tcp        0      0 :::51123                    :::*                        LISTEN      3931/rpc.statd     

14、檢視是哪個服務啟動的埠(如要檢視80埠的httpd服務),可以檢視到httpd的啟動/etc/rc.d/init.d/httpd

 #locate httpd | grep '/httpd$'

    /etc/httpd
    /etc/logrotate.d/httpd
    /etc/rc.d/init.d/httpd
    /etc/sysconfig/httpd
    /usr/include/httpd
    /usr/lib64/httpd
    /usr/sbin/httpd
    /var/lock/subsys/httpd
    /var/log/httpd
    /var/run/httpd

15、檢視telnet是否安裝

 #rpm -qa |grep telnet-server

16、在RedHat系統中,run level啟動的資料都是放置在/etc/rc.d/rc[0-6].d裡。

17、檢視一個服務是否開機自啟 (如檢視sshd服務)

 # chkconfig --list | grep sshd
    sshd            0:off 1:off 2:on 3:on 4:on 5:on 6:off

18、如果有啟動,可以用 chkconfig --level 35 portmap off 設定開機時不要自啟動

19、可以通過/etc/init.d/portmap stop 來立刻關閉服務
   
20、chkconfig的用法,chkconfig命令主要用來更新(啟動和停止)和查詢系統服務的執行級資訊。

    chkconfig --list  #列出所有的系統服務
    chkconfig --add httpd  #增加httpd服務
    chkconfig --del httpd  #刪除httpd服務
    chkconfig --level 2345 ripd on #設定httpd在執行級別2345
    chkconfig --level 35 mysqld on #設定mysqld在級別3和等級5執行

21、yum server設定

    /etc/yum.conf
    /etc/yum.repos.d/***.repo
    /etc/yum.repos.d/yum.repo

22、路由表
   
    每一部主機都有自己的路由表,透過自己的路由表傳遞你主機的封包到下一個路由器上。檢視路由表
    路由表的排列是由小網域到大網域,你主機上有幾個網路介面存在,該網路介面就會存在一個路由才對。   

    #route -n
    Kernel IP routing table
    Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
    192.168.122.0  0.0.0.0        255.255.255.0  U    0      0        0 virbr0
    169.254.0.0    0.0.0.0        255.255.0.0    U    1004  0        0 ib0
    169.254.0.0    0.0.0.0        255.255.0.0    U    1005  0        0 ib1
    169.254.0.0    0.0.0.0        255.255.0.0    U    1006  0        0 br0

23、 加入我現在的IP地址為192.168.1.11,我要連線到192.168.100.254這個路由器時,可以使用如下命令新增路由
 
    #route add -net 192.168.100.0 netmask 255.255.255.0 gateway 192.168.100.254
   
    #G作為外部的裝置作為gateway的意思。
   
    假設本機你有兩張網路卡,假設:
   
    eth0: 192.168.0.100
    eth1: 192.168.0.200

    那麼路由表的規則是:如果兩個地址都在同一個網段的時候,都是透過eth傳出資料。

24、啟動封包傳遞
    #echo “1” > /proc/sys/net/ipv4/ip_forward
    可以將上述的指令寫入/etc/rc.d/rc.local中,以使linux可以再開機的時候就啟動封包轉遞的功能。

25、sysctl設定與顯示在/proc/sys目錄中的核心引數,可以用sysctl來設定或重新設定聯網功能,如ip轉發、ip碎片去除以及源路由的檢查等,使用者只需要編    輯/etc/sysctl.conf.
   
    啟動ip路由轉發功能:
    1) #echo 1 > /proc/sys/net/ipv4/ip_forward
    2)  sysctl -w net.ipv4.ip_forward=1

26、NAT(Network Address Translation,網路地址轉譯)
    NAT本身就是一個路由器,但NAT比路由器多了一個IP轉換的功能。
    Linux的NAT主機可以透過修改封包的IP表頭資料之來源或目標IP,讓來自私有的IP的封包可以轉換為NAT主機的公共IP。

27、可以使用tcpdump的指令來監聽封包資料

28、只要是具有路由器功能的裝置都會具有兩個以上的介面,分別用來溝通不同的網域,同時該路由器都會具有一個預設路由,同時還可以加上一些防火牆的軟體在Linux            Router上。

29、第一張網路卡的第一個虛擬介面為eth0:0

30、路由是雙向的,所以由網路封包傳送處傳送到目標的路由規劃,必須要考慮到回程時是否具有相對的路由。

31、網路封包進入本機的流程順序
   
    1)、封包過濾防火牆:IP Filetering
     
        要進入Linux本機的封包都會先通過Linux核心的預設防火牆,這是iptables這個軟??提供的防火牆功能。
   
    2)、TCP wrappers
        網路封包開始接受super deamons和TCP_wrapper的檢驗。

32、iptables 其實就是一種防火牆機制,只要能夠分析與過濾進出我們管理的網路的封包資料,就可以稱為防火牆。
    防火牆最大的功能就是限制某種服務的存取來源。

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-11/136641.htm


IT145.com E-mail:sddin#qq.com