美文网首页
操作Kali需要知道的编程语言(一):Bash编程

操作Kali需要知道的编程语言(一):Bash编程

作者: 银枪镴枪头 | 来源:发表于2019-09-28 21:12 被阅读0次

bash编程又称bash脚本和shell脚本,是一种有多条线终端命令构成的脚本程序,所有可以直接在终端界面里运行的命令,都可以通过脚本来执行

我们拿就拿ping命令来说,怎么使用ping命令对局域网进行扫描,识别当前网络下活跃主机,下面笔者将通过bash编程来简单的解释

1.在Linux中创建一个.sh程序         命令:touch xxxx.sh    

2.启用编辑模式vim/nano编写脚本

在第一行:#/bin/bash     会让终端界面调用Bash解释器

第二行:if判断语句

它的写法很简单

if [条件表达式]

then

..............

else

..............

相当于其他语言if判断语句,拿java来说,上面的if判断语句就等同于

if(条件表达式){

..................

}else{.

then即相当于大括号

条件表达式[" $1" == " " ]   这句话的意识是说[ "当第一个参数为空时" ]     $1表示传入的第一个参数。==是逻辑判断符

下面的echo "........",用于像终端界面输出提示,当第一个传输参数为空的时候就会显示echo “ ”中的内容,如果不为空就显示else里面的内容

但光有if语句是不行的,即使传递了一个参数,这个程序也不具备相应的处理功能,因为我们要探测某个“c类网段”的全部在线主机,所以需要以循环的方式ping那些末尾为1~254(IPv4地址的最后一个八位组)的全部IP

for循环语句

for x in `seq 1 254`;

等同于java中

for(int x=1;x<=254;x++){

}

当我们传递参数时,例如当我们在终端执行./xxxx.sh 192.168.20时脚本程序会从192.168.20.1开始直到运行到192.168.20.254时结束

(这里说一下,为什么需要以./xxxx.sh来运行程序。应为当前目录没有被环境变量PATH收录所有不能直接以xxx.sh运行)

for x in `seq 1 254`;后面跟do表示执行,do下面就是要执行的内容了

ping -c $1.$x

我们希望程序在for循环语句的每次迭代过程中都ping一个ip地址。根据相关使用说明可知,ping命令的-c选项可以限定它ping某台既定主机的探测次数。因此-c选项设定为1,让程序对每个主机只ping一次

$1.$x:$1表示传入的第一个参数,$x表示for循环使用的循环变量

但是这样ping出来的效果好像不是很理想,因为我们只需要知道在线的主机就行了

所以我们在ping -c $1.$x后面加上grep筛选命令

ping -c $1.$x | grep "64 bytes from"

如此一来就可以只看在线主机的ip地址了

值得注意的是在保存脚本过后,需要使用chmod命令进行权限处理

相关文章

  • 操作Kali需要知道的编程语言(一):Bash编程

    bash编程又称bash脚本和shell脚本,是一种有多条线终端命令构成的脚本程序,所有可以直接在终端界面里运行的...

  • Bash超级会 - 5.LOOP

    每种编程语言都有 loop 操作,在 bash script 中,有两种 loop 。 while 没数的时候就用...

  • Bash中&(与符号)的使用方法

    典型的编程语言中,&符号一般都与逻辑”与“操作有关。在C语言中&表示按位与操作,而&&则表示逻辑与。在Bash中,...

  • Python-part2-基础

    1、编程语言的介绍: 1、机器语言: 直接用二进制编程,直接操作硬件,需要掌握硬件的详细操作。 优点:执行效率高缺...

  • note_11.3_shell脚本list生成

    bash脚本编程 过程式编程语言的执行流程:顺序执行选择执行循环执行 选择执行: (1) &&, ||(2) if...

  • linux学习笔记---3:shell,vim编辑器及变量操作

    了解shell: shell是用户与内核(kernel)进行交互操作的接口,是一种编程语言。 bash是大多数li...

  • JAVA新手向--实现一个简单的http服务器

    http协议(编程语言无关,核心):参见RFC2616 IO操作(编程语言有关):各大编程语言的IO模块 字符串操...

  • 类型,值,变量

    计算机程序的运行是需要对值操作的,在编程语言中,能够表示操作的值的类型称做数据类型,编程语言最基本的特性就是能够支...

  • 【Flutter】Dart基本语法

    Dart编程语言——基本概念及变量类型Dart编程语言——方法Dart编程语言——操作符、流程控制和异常Dart编...

  • vim回顾:总结:编辑、输入、末行、可视(v, V) bash编程:bash进程:解释器type 实现某种操作:总...

网友评论

      本文标题:操作Kali需要知道的编程语言(一):Bash编程

      本文链接:https://www.haomeiwen.com/subject/kcqvuctx.html