linux命令行netstat总结

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 其实就是一种防火墙机制,只要能够分析与过滤进出我们管理的网络的封包数据,就可以称为防火墙。
    防火墙最大的功能就是限制某种服务的存取来源。

    
    

原文地址:https://www.cnblogs.com/wangtao1993/p/5999466.html