热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux环境下黑客常用嗅探器分析

Linux环境下黑客常用嗅探器分析--Linux企业应用-Linux服务器应用信息,下面是详情阅读。
  本文对Linux环境下黑客常常使用的几种嗅探器进行详细的分析,这些嗅探器往往被入侵者完成入侵以后种植在受害者服务器当中。这些嗅探器各自有不同的特点,有的只是简单的用来捕捉用户名和密码,有的则非常强大可记录所有的网络数据流。本文将对下面几种嗅探器进行分析:

linsniffer
linuxsniffer
hunt
sniffit
2.linsniffer

  linsniffer是一个简单实用的嗅探器。它主要的功能特点是用来捕捉用户名和密码,它在这方面非常出色。

??作者:Mike Edulla
??条件: C和IP头文件
??配置文件:无
??位置: http://agape.trilidun.org/hack/network-sniffers/linsnifferc
??安全历史: 无

  注: 易于使用。但是lnsniffer需要完整的IP头文件,包括常常存储在/usr/include/net和 /usr/include/netinet的头文件,在编译前确保PATH变量包含/usr/include。

  使用下面的命令来编译lnsniffer:

??$cc linsniffer.c -o linsniffer

  要运行linsniffer,使用下面的命令:

??$linsniffer

  启动以后linsniffer将创建一个空文件:tcp.log来存储嗅探结果。

  在测试中我创建一个名为hapless的用户,密码为unaware。然后使用该用户来登录Linux服务器,并进行一些常见的用户操作。下面是进行的一次ftp过程:

GNSS $ ftp 192.168.0.2
??Connected to 192.168.0.2.

??220 linux.test.net FTP server Wed Aug 19 02:55:52 MST 1998) ready.

??Name (192.168.0.2:root): hapless
??331 Password required for hapless.
??Password:
??230 User hapless logged in.
??Remote system type is UNIX.
??Using binary mode to transfer files.
??ftp> ls -al
??200 PORT command successful.
??150 Opening ASCII mode data connection for /bin/ls.
??total 14
??drwxrwxr-x 4 hapless hapless 1024 May 20 19:35 .
??drwxr-xr-x 6 root root 1024 May 20 19:28 ..
??-rw-rw-r-- 1 hapless hapless 96 May 20 19:56 .bash_history
??-rw-r--r-- 1 hapless hapless 49 Nov 25 1997 .bash_logout
??-rw-r--r-- 1 hapless hapless 913 Nov 24 1997 .bashrc
??-rw-r--r-- 1 hapless hapless 650 Nov 24 1997 .cshrc
??-rw-r--r-- 1 hapless hapless 111 Nov 3 1997 .inputrc
??-rwxr-xr-x 1 hapless hapless 186 Sep 1 1998 .kshrc
??-rw-r--r-- 1 hapless hapless 392 Jan 7 1998 .login
??-rw-r--r-- 1 hapless hapless 51 Nov 25 1997 .logout
??-rw-r--r-- 1 hapless hapless 341 Oct 13 1997 .profile
??-rwxr-xr-x 1 hapless hapless 182 Sep 1 1998 .profile.ksh
??drwxr-xr-x 2 hapless hapless 1024 May 14 12:16 .seyon
??drwxr-xr-x 3 hapless hapless 1024 May 14 12:15 lg
??226 Transfer complete.
??ftp> ls
??200 PORT command successful.
??150 Opening ASCII mode data connection for /bin/ls.
??total 14
??drwxrwxr-x 4 hapless hapless 1024 May 20 19:35 .
??drwxr-xr-x 6 root root 1024 May 20 19:28 ..
??-rw-rw-r-- 1 hapless hapless 96 May 20 19:56 .bash_history
??-rw-r--r-- 1 hapless hapless 49 Nov 25 1997 .bash_logout
??-rw-r--r-- 1 hapless hapless 913 Nov 24 1997 .bashrc
??-rw-r--r-- 1 hapless hapless 650 Nov 24 1997 .cshrc
??-rw-r--r-- 1 hapless hapless 111 Nov 3 1997 .inputrc
??-rwxr-xr-x 1 hapless hapless 186 Sep 1 1998 .kshrc
??-rw-r--r-- 1 hapless hapless 392 Jan 7 1998 .login
??-rw-r--r-- 1 hapless hapless 51 Nov 25 1997 .logout
??-rw-r--r-- 1 hapless hapless 341 Oct 13 1997 .profile
??-rwxr-xr-x 1 hapless hapless 182 Sep 1 1998 .profile.ksh
??drwxr-xr-x 2 hapless hapless 1024 May 14 12:16 .seyon
??drwxr-xr-x 3 hapless hapless 1024 May 14 12:15 lg
??226 Transfer complete.
??ftp> ls -F
??200 PORT command successful.
??150 Opening ASCII mode data connection for /bin/ls.
??total 14
??drwxrwxr-x 4 hapless hapless 1024 May 20 19:35 ./
??drwxr-xr-x 6 root root 1024 May 20 19:28 ../
??rw-rw-r-- 1 hapless hapless 96 May 20 19:56 .bash_history
??-rw-r--r-- 1 hapless hapless 49 Nov 25 1997 .bash_logout
??-rw-r--r-- 1 hapless hapless 913 Nov 24 1997 .bashrc
??-rw-r--r-- 1 hapless hapless 650 Nov 24 1997 .cshrc
??-rw-r--r-- 1 hapless hapless 111 Nov 3 1997 .inputrc
??-rwxr-xr-x 1 hapless hapless 186 Sep 1 1998 .kshrc*
??-rw-r--r-- 1 hapless hapless 392 Jan 7 1998 .login
??-rw-r--r-- 1 hapless hapless 51 Nov 25 1997 .logout
??-rw-r--r-- 1 hapless hapless 341 Oct 13 1997 .profile
??-rwxr-xr-x 1 hapless hapless 182 Sep 1 1998 .profile.ksh*
??drwxr-xr-x 2 hapless hapless 1024 May 14 12:16 .seyon/
??drwxr-xr-x 3 hapless hapless 1024 May 14 12:15 lg/
??226 Transfer complete.
??ftp> cd lg
??250 CWD command successful.
??ftp> ls -F
??200 PORT command successful.
??150 Opening ASCII mode data connection for /bin/ls.
??total 8
??drwxr-xr-x 3 hapless hapless 1024 May 14 12:15 ./
??drwxrwxr-x 4 hapless hapless 1024 May 20 19:35 ../
??rw-r--r-- 1 hapless hapless 70 Aug 22 1998 lg3_colors
??-rw-r--r-- 1 hapless hapless 629 Aug 22 1998 lg3_prefs
??-rw-r--r-- 1 hapless hapless 728 Aug 22 1998 lg3_soundPref
??-rw-r--r-- 1 hapless hapless 2024 Aug 22 1998 lg3_startup
??drwxr-xr-x 2 hapless hapless 1024 May 14 12:15 lg_layouts/
??226 Transfer complete.
??ftp> cd lg_layouts
??250 CWD command successful.

  这是一个典型的用户操作过程。现在我们看看linsniffer产生的嗅探结果:

??gnss => linux.test.net [21]
??USER hapless
??PASS unaware
??SYST
??PORT 172,16,0,1,4,192
??LIST -al
??PORT 172,16,0,1,4,193
??LIST
??PORT 172,16,0,1,4,194
??LIST -F
??CWD lg
??PORT 172,16,0,1,4,195
??LIST -F

  输出的内容是很直观的。首先它记录这是从GNSS到Linux主机的FTP连接:

??gnss => linux.test.net [21]

  然后,linsniffer捕获了hapless的用户名和密码。

??USER hapless
??PASS unaware

  最后,linsniffer记录了hapless使用的每一个命令:

??SYST
??PORT 172,16,0,1,4,192
??LIST -al
??PORT 172,16,0,1,4,193
??LIST
??PORT 172,16,0,1,4,194
??LIST -F
??CWD lg
??PORT 172,16,0,1,4,195
??LIST -F

  输出结果非常简介并且非常适于窃听密码及记录常见的活动。但是不适合于进行更加复杂的分析。这时候你也许会需要linux_sniffe。

3.linux_sniffer

  linux_sniffer提供相对更复杂的探测结果。

??作者:loq
??要求:C和IP头文件
??配置文件:无
??下载位置: http://www.ryanspc.com/sniffers/linux_sniffer.c.
??安全历史:无

  注意:linux_sniffer易于使用,但是需要完全的IP头文件。

  使用下面命令编译linux_sniffer:

??$cc linux_sniffer.c -o linuxsniff

  下面是一次telnet会话过程,同时被linux_sniffer记录:

??GNSS 2# telnet 192.168.0.1
??Connected to 192.168.0.1.
??login: hapless
??password:
??[hapless@linux2 hapless]$ w
?? 19:55:29 up 58 min, 4 users, load average: 0.00, 0.00, 0.00
??USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
??root tty1 7:44pm 27.00s 0.17s 0.06s -bash
??root tty2 7:46pm 1:56 0.24s 0.01s linuxsniff
??root tty3 7:44pm 10:43 0.17s 0.07s -bash
??hapless ttyp0 gnss 7:55pm 1.00s 0.26s 0.04s w
??[hapless@linux2 hapless]$ who
??root tty1 May 20 19:44
??root tty2 May 20 19:46
??root tty3 May 20 19:44
??hapless ttyp0 May 20 19:55 (gnss)
??[hapless@linux2 hapless]$ finger -l
??Login: root Name: root
??Directory: /root Shell: /bin/bash
??On since Thu May 20 19:44 (PDT) on tty1 35 seconds idle
??On since Thu May 20 19:46 (PDT) on tty2 2 minutes 4 seconds idle
??On since Thu May 20 19:44 (PDT) on tty3 10 minutes 51 seconds idle
??No mail.
??No Plan.

??Login: hapless Name: Caldera OpenLinux User
??Directory: /home/hapless Shell: /bin/bash
??On since Thu May 20 19:55 (PDT) on ttyp0 from gnss
??No mail.
??No Plan.

  同样这是一次典型的登录过程:用户登录,检测哪些用户在登录等等。linux_sniffer记录额外的地址数据,但是同样记录了一些重要的数据。首先它记录了连接:

eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 ff fc 27 - ..‘
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 ff fa 1f 00 50 00 28 ff - f0 ....P.(..
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 ff fa 20 00 33 38 34 30 - 30 2c 33 38 34 30 30 ff
.. .38400,38400.
0010 f0 ff fa 23 00 47 4e 53 - 53 3a 30 2e 30 ff f0 ff
...#.GNSS:0.0...
0020 fa 18 00 49 52 49 53 2d - 41 4e 53 49 2d 4e 45 54
...IRIS-ANSI-NET
0030 ff f0 - ..
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 ff fc 01 - ...
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 ff fd 01 - ...
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]

  随后,linux_sniffer记录了登录过程,下面用黑体表示:

eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 68 - h
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 61 - a
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 70 - p
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 6c - l
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 65 - e
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 73 - s
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 73 - s
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 0d 00 - ..
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 75 - u
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 6e - n
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 61 - a
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 77 - w
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 61 - a
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 72 - r
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 65 - e
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]

  最后,linux_sniffer记录了所有的命令:

eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 77 - w
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 0d 00 - ..
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 77 - w
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 68 - h
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 6f - o
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 0d 00 - ..
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 66 - f
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 69 - i
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 6e - n
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 67 - g
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 65 - e
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]
0000 72 - r
eth
proto: 080008:00:69:07:3e:db->00:e0:29:19:4a:68 192.168.0.1[1239] ->192.168.0.2[23]

  可以看到,linux_sniffer提供了相对更详细的内容。
推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
author-avatar
工程技术公司团委
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有