Linux监听命令

1linux操作系统

netstat 命令用于显示各种网络相关信息,即网络状态。而我主要使用netstat查看端口号是否启动;

输入命令:netstat -ntulp

2window查看操作系统:

windowsdos命令窗口输入netstat -ano即可查看端口使用情况;

netstat -ano | findstr "80" (注80是你想要看查看的端口号)

就会输出包含80端口使用的情况

具体对应的行是

协议      本地地址          外部地址            状态            PID


如果想看某个进程具体是哪个进程可以使用下面命令

tasklist | findstr "6336"(注 6336是进程的idPID

|----------------

Linux可以使用nc命令来测试网络端口是否正常,类似于telnet命令,但也可以用nc命令来监听本地端口,支持TCPUDP协议。

使用案例如下:

1、测试TCP端口

nc -vz ip tcp-port

2、测试UDP

nc -uvz ip udp-port

3、临时监听TCP端口

nc -l port

4、永久监听TCP端口

nc -lk port

5、临时监听UDP

nc -lu port

6、永久监听UDP

nc -luk port

说明:默认监听的都是TCP端口

|---------------

Linux 查看端口占用情况:

Linux 查看启动的后台进程,可以使用下面两个命令。

lsof

lsof -i:<port> 用来查看某一端口占用情况,可以查询到对应的 COMMAND PID USER TYPE

netstat

netstat -tunlp | grep <port> 用于查看指定的端口号的进程情况,可以查看端口的监听情况,最后一项则是对应的 COMMAND PID

|---------------

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的

       netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。

 

       该命令的一般格式为:

       netstat [选项]

       命令中各选项的含义如下:

       -a 显示所有socket,包括正在监听的。

       -c 每隔1秒就重新显示一遍,直到用户中断它。

       -i 显示所有网络接口的信息,格式同“ifconfig -e”

       -n 以网络IP地址代替名称,显示出网络连接情形。

       -r 显示核心路由表,格式同“route -e”

       -t 显示TCP协议的连接情况。

       -u 显示UDP协议的连接情况。

       -v 显示正在进行的工作。

 

 1. netstat -an | grep LISTEN

       0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。

 

 2. netstat -tln

       用来查看linux的端口使用情况

 

 3. /etc/init.d/vsftp start

       是用来启动ftp端口~

 4. netstat

       查看已经连接的服务端口(ESTABLISHED

 

 5. netstat -a

       查看所有的服务端口(LISTENESTABLISHED

 

 6. sudo netstat -ap

       查看所有的服务端口并显示对应的服务程序名

7.netstat -ntulp|grep 80

[root@localhost tomcat]# netstat -ntulp|grep 80

 tcp6       0      0 :::8009                 :::*                    LISTEN      23651/java         

 tcp6      48      0 :::80                   :::*                    LISTEN      23651/java

1.查看日志常用命令

    tail:  

       -n  是显示行号;相当于nl命令;例子如下:

            tail -100f test.log      实时监控100行日志

            tail  -n  10  test.log   查询日志尾部最后10行的日志;

            tail -n +10 test.log    查询10行之后的所有日志;

    head:  

        跟tail是相反的,tail是看后多少行日志;例子如下:

            head -n 10  test.log   查询日志文件中的头10行日志;

            head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

    cat: 

        tac是倒序查看,是cat单词反写;例子如下:

            cat -n test.log |grep "debug"   查询关键字的日志

 

2. 应用场景一:按行号查看---过滤出关键字附近的日志

     1)cat -n test.log |grep "debug"  得到关键日志的行号

 

  2)通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们还有个需求就是输出当前这个日志的前后几行:

    cat error.log | grep -B 5 'nick' 显示nick及前5行

    cat error.log | grep -A 5 'nick' 显示nick及后5行

    cat error.log | grep -C 5 'nick' 显示file文件里匹配nick字串那行以及上下5行

    cat error.log | grep -n -B10 -A10 5 'nick' 显示file文件里匹配nick字串前后10行

  

3. 应用场景二:选取日志中特定范围进行分析

   1)cat -n test.log |tail -n +1000|head -n 20   从第1000行开始,显示20行

            tail -n +1000表示查询1000行之后的日志

            head -n 20 则表示在前面的查询结果里再查前20条记录

  2)cat catalina.out | head -n 1400| tail -n +1350  显示1350行到1400行 (实现原理都差不多,就是通过语法糖)

 

 (1)按日期截取 :一般在日志系统中都会记录打印日志的时间,通常我们非常需要查找指定时间端的日志:

        sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

        特别说明:该命令中的两个日期值必须是日志文件中包含的值,否则该命令无效.; 先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

 (2)按行数截取

    sed -n ‘10000,20000p’ test.log                

      sed -i '/关键词/d' catalina.out  删除包含关键词的行

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

    (1)使用more和less命令,

           如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

    (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

            如:cat -n test.log |grep "debug"  >debug.txt

5:使用管道进行and or条件处理

  and 使用管道实现   例如:  grep -n '日志排查' test.log | grep '日志'

  or 用-E   例如:grep -n -E '日志排查|hello' test.log  满足两个关键字的都可以找出来

 

 

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值