[toc]

Blackarch

netdiscover

安装

1
yay -S netdiscover

简单使用

1
2
3
4
5
6
# 这会无休止一直广播ARP
sudo netdiscover
# -i 设置网卡
sudo netdiscover -i wlan0
# -r 设置ip段
sudo netdiscover -i wlan0 -r 192.168.1.0/24

arp-scan

安装

1
2
3
4
5
6
7
8
9
10
11
# 我有blackarch的源,你懂的!!!
[orange@orange ~]$ yay -Ss arp-scan
aur/obs-time-warp-scan 0.1.6-3 (+0 0.00)
Time Warp Scan filter for OBS Studio
aur/arp-scan-git r304.af905ce-1 (+1 0.00)
The ARP Scanner
blackarch/arp-scan 1.9.7-2 (337.6 KiB 1017.9 KiB) [blackarch blackarch-networking blackarch-scanner blackarch-fingerprint]
A tool that uses ARP to discover and fingerprint IP hosts on the local network
community/arp-scan 1.9.7-2 (337.6 KiB 1017.9 KiB)
A tool that uses ARP to discover and fingerprint IP hosts on the local network
[orange@orange ~]$ yay -S arp-scan

简单使用

1
2
# -l 使用本地网络段扫描
sudo arp-scan -l

wireshark

php连接数据库

第一步确认数据库的位置,用户名,密码,位置,ip地址或者网址

1
2
3
4
5
6
7
8
9
<?php
//第一步确认数据库的位置,用户名,密码,位置,ip地址或者网址,后面or die是前面发生错误就会触发后面提示
$conn = mysqli_connect('10.71.10.25','root','Asimov') or die('链接mysql数据库服务器失败');
//选择要操作的数据库
mysqli_select_db($conn,'test');
//设置数据库的编码格式
mysqli_query($conn,'set names utf8');
var_dump($conn);
?>

返回这个说明连接成功

image-20230328153359251

返回这个说明数据库连接失败,可能是ip错了

image-20230328153537406

返回这个说明是数据库账号错了

image-20230328153756724

返回这个说明是数据库密码错了

image-20230328153829750

接下来开始连接数据库然后打印数据库表内容

1
2
3
4
5
6
7
8
9
10
11
12
<?php
//第一步确认数据库的位置,用户名,密码,位置,ip地址或者网址,后面or die是前面发生错误就会触发后面提示
$conn = mysqli_connect('10.71.10.25','root','Asimov') or die('链接mysql数据库服务器失败');
//选择要操作的数据库
mysqli_select_db($conn,'test');
//设置数据库的编码格式
mysqli_query($conn,'set names utf8');
// 执行SQL语句,这里是意思是把整张test02表格输出
$sql = "SELECT * FROM test02";
$result = mysqli_query($conn,$sql);
var_dump($result);
?>

*看到这个说明我们执行成功,后面int(4)说我们有4条记录,我们数据表确实有4条记录,那么为啥没有具体是查询出来捏( ̄▽ ̄),我们得转换一下将执行结果转换成为结果集

image-20230328154327099

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
//第一步确认数据库的位置,用户名,密码,位置,ip地址或者网址,后面or die是前面发生错误就会触发后面提示
$conn = mysqli_connect('10.71.10.25','root','Asimov') or die('链接mysql数据库服务器失败');
//选择要操作的数据库
mysqli_select_db($conn,'test');
//设置数据库的编码格式
mysqli_query($conn,'set names utf8');
// 执行SQL语句,这里是意思是把整张test02表格输出
$sql = "SELECT * FROM test02";
$result = mysqli_query($conn,$sql);
$data = mysqli_fetch_assoc($result);
var_dump($data);
?>

下面这个则是输出值:(你会发现,为啥我四行的数据表只输出了一行)

image-20230328155530623

这个时候,我们使用循环遍历,把一个个数据表遍历出来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
//第一步确认数据库的位置,用户名,密码,位置,ip地址或者网址,后面or die是前面发生错误就会触发后面提示
$conn = mysqli_connect('10.71.10.25','root','Asimov') or die('链接mysql数据库服务器失败');
//选择要操作的数据库
mysqli_select_db($conn,'test');
//设置数据库的编码格式
mysqli_query($conn,'set names utf8');
//var_dump($conn);
// 执行SQL语句
$sql = "SELECT * FROM test02";
$result = mysqli_query($conn,$sql);
// 将执行结果转换成为结果集
while($data = mysqli_fetch_assoc($result)){
var_dump($data);
}
?>

image-20230328161200638

数据都遍历出来了,但是很密集,我这给它空几行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//第一步确认数据库的位置,用户名,密码,位置,ip地址或者网址,后面or die是前面发生错误就会触发后面提示
$conn = mysqli_connect('10.71.10.25','root','Asimov') or die('链接mysql数据库服务器失败');
//选择要操作的数据库
mysqli_select_db($conn,'test');
//设置数据库的编码格式
mysqli_query($conn,'set names utf8');
//var_dump($conn);
// 执行SQL语句
$sql = "SELECT * FROM test02";
$result = mysqli_query($conn,$sql);
// 将执行结果转换成为结果集
while($data = mysqli_fetch_assoc($result)){
var_dump($data);
echo '<br />';
echo '<br />';
}
?>

这样看就舒服多了,是不是捏( ̄▽ ̄)*

image-20230328161509400

如果我需要它的名字怎么办?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//第一步确认数据库的位置,用户名,密码,位置,ip地址或者网址,后面or die是前面发生错误就会触发后面提示
$conn = mysqli_connect('10.71.10.25','root','Asimov') or die('链接mysql数据库服务器失败');
//选择要操作的数据库
mysqli_select_db($conn,'test');
//设置数据库的编码格式
mysqli_query($conn,'set names utf8');
//var_dump($conn);
// 执行SQL语句
$sql = "SELECT name FROM test02"; #这里把*改name
$result = mysqli_query($conn,$sql);
// 将执行结果转换成为结果集
while($data = mysqli_fetch_assoc($result)){
var_dump($data);
echo '<br />';
echo '<br />';
}
?>

image-20230328161904981

但是,还是不够简洁,那么可以改成这样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//第一步确认数据库的位置,用户名,密码,位置,ip地址或者网址,后面or die是前面发生错误就会触发后面提示
$conn = mysqli_connect('10.71.10.25','root','Asimov') or die('链接mysql数据库服务器失败');
//选择要操作的数据库
mysqli_select_db($conn,'test');
//设置数据库的编码格式
mysqli_query($conn,'set names utf8');
//var_dump($conn);
// 执行SQL语句
$sql = "SELECT * FROM test02"; #这里把name改*也可以
$result = mysqli_query($conn,$sql);
// 将执行结果转换成为结果集
while($data = mysqli_fetch_assoc($result)){
echo $data['name'];
echo '<br />';
echo '<br />';
}
?>

image-20230328162301304

[toc]

Helloworld

1
2
3
4
5
public class Helloworld {
public static void main(String[] args) {
System.out.println("你好世界!!!");
}
}

Scanner

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Scanner;

public class ScannerDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字");
int number01 = sc.nextInt();
System.out.println("请输入第二个数字");
int number02 = sc.nextInt();
System.out.println(number01 + number02);
}
}

键盘录入三位数,取其个十百三位

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;

public class TextDemo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数");
int number01 = sc.nextInt();
int ge = number01 % 10;
int shi = number01 / 10 % 10;
int bai = number01 / 100 % 10;
System.out.println(ge);
System.out.println(shi);
System.out.println(bai);

}
}

三个和尚

1
2
3
4
5
6
7
8
9
10
11
12
public class Tests {
public static void main(String[] args) {
int height1 = 150;
int height2 = 210;
int height3 = 165;

int temp = height1 > height2 ? height1 : height2;
int max = temp > height3 ? temp : height3;
System.out.println(max);
}
}

求回文数

image-20230811223733345

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Demo01 {
public static void main(String[] args) {
int x = 121;
int temp = x; //备份x
int num = 0;
while (x != 0){ //从右往左取每一位数字
int ge = x % 10;
x = x / 10; //修改x记录值
num = num * 10 + ge;//拼接
}
System.out.println(num == temp);

}

}

求商和余数

image-20230811223828826

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Demo01 {
public static void main(String[] args) {
//定义被除数
int dividend = 10;
//定义除数
int divisor = 3;
//定义一个变量用来统计相减了多少次
int count = 0;
//循环while,在循环中不断用 被除数 - 被数,只要 被除数 > 除数,则一直循环,减剩下的则是余数
while (dividend >= divisor){
dividend = dividend - divisor;
count ++;
}
System.out.println("余数为:" + dividend);
System.out.println("商为:" + count);

}

}

逢七过

image-20230812114558912

1
2
3
4
5
6
7
8
9
10
11
public class Demo01 {
public static void main(String[] args) {
for(int i = 1;i <= 100;i ++){
if(i % 10 == 7 || i / 10 % 10 == 7 || i % 7 == 0){
System.out.println("过");
continue;
}
System.out.println(i);
}
}
}

求平方根

image-20230812114624491

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个整数:");
int number = sc.nextInt();
for (int i = 1;i <= number;i ++){
if(i * i == number){
System.out.println(i + "就是" + number + "的平方根");
break;
}else if(i * i > number){
System.out.println((i - 1) + "就是" + number + "平方根的整数部分");
break;
}

}

}

}

Random

1
2
3
4
5
6
7
8
9
10
import org.w3c.dom.ranges.Range;
import java.util.Random;

public class Demo01 {
public static void main(String[] args) {
Random r = new Random();
int number = r.nextInt(100) + 1; // 1~100
System.out.println(number);
}
}

猜数字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import org.w3c.dom.ranges.Range;
import java.util.Random;
import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
Random r = new Random();
int number = r.nextInt(100) + 1; // 1~100
Scanner sc = new Scanner(System.in);
while (true){
System.out.print("输入你想要输入的数字:");
int guessNumber = sc.nextInt();
if (guessNumber > number){
System.out.println("大了");
}else if(guessNumber < number){
System.out.println("小了");
}else{
System.out.println("猜中了");
break;
}
}
}
}