linux命令行netstat总结

时间:2022-01-17 08:54:46

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.0.0:*                   LISTEN     
   tcp              0.0.0.0:               0.0.0.0:*                   LISTEN     
   tcp              0.0.0.0:               0.0.0.0:*                   LISTEN     

8、列出本机与其他主机连接的端口

#netstat -tun
   tcp              17.0.100.1:             17.0.105.95:           ESTABLISHED
   tcp              17.0.100.1:             17.0.105.31:           ESTABLISHED
   tcp              17.0.100.1:             17.0.102.63:           ESTABLISHED

9、查找出已经建立连接的端口和进程号

#netstat -tunp 
   tcp              17.0.100.1:             17.0.105.95:           ESTABLISHED /mpirtm3d     
   tcp              17.0.100.1:             17.0.105.31:           ESTABLISHED /mpirtm3d     
   tcp              17.0.100.1:             17.0.102.63:           ESTABLISHED /mpirtm3d

如要杀死进程mpirtm3d, kill -9 24041

10、使用预设参数扫描本机所启动的port

 #nmap localhost (在预设情况下,nmap只会扫描tcp)
    PORT     STATE SERVICE
    /tcp   open  ftp
    /tcp   open  ssh
    /tcp  open  rpcbind
    /tcp  open  exec
    /tcp  open  login
    /tcp  open  shell
    /tcp  open  ipp
    /tcp open  kdm
    /tcp open  NFS-or-IIS
    /tcp open  rmiregistry
    /tcp open  commplex-link
    /tcp open  wbem-https
    /tcp open  fodms
    /tcp open  dlip
    /tcp open  http
    /tcp open  zeus-admin

11、查看所有的port(TCP, UDP)

#nmap -sTU localhost  (查看TCP和UDP的Port)
    PORT     STATE         SERVICE
    /tcp   open          ftp
    /tcp   open          ssh
    /tcp  open          rpcbind
    /tcp  open          exec
    /tcp  open          login
    /udp  open          rpcbind
    /udp  open          ntp
    /udp  open|filtered ipp

12、查看几部主机在你的网络中
    #nmap -sP 192.168.0.0/24

13、查看出该主机已经建立的端口和Port

#netstat -tnlp
    tcp              :::                      :::*                        LISTEN      /rpcbind       
    tcp              :::                       :::*                        LISTEN      /httpd         
    tcp              :::                    :::*                        LISTEN      /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            :off :off :on :on :on :on :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 ripd on #设置httpd在运行级别2345
    chkconfig --level 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                   virbr0
    169.254.0.0     0.0.0.0         255.255.0.0     U                ib0
    169.254.0.0     0.0.0.0         255.255.0.0     U                ib1
    169.254.0.0     0.0.0.0         255.255.0.0     U                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 其实就是一种防火墙机制,只要能够分析与过滤进出我们管理的网络的封包数据,就可以称为防火墙。
    防火墙最大的功能就是限制某种服务的存取来源。