Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Script for remote batch crawling of Ubuntu PC information

2025-02-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

Scripts for remote batch crawling of Ubuntu PC information (multiple scripts are completed)

There are several points of knowledge:

A. Log in with password ssh and execute in batch

B, nc command to check whether the port is open

C, grep-w (exact matching of words)

D, grep-A (display the contents of the line after the matching line)

1. Select ip with open port 22 from all PC network segments.

Root@archivebak:~# cat/usr/local/bin/pingubt.sh

#! / bin/bash

Rm-rf / log/ip_ubt.txt

Rm-rf / log/ssh_22_0_ok.txt

Rm-rf / log/ssh_22_0.txt

Touch / log/ssh_22_0_ok.txt

Touch / log/ssh_22_0.txt

Rm-rf / log/ssh_22_1_ok.txt

Rm-rf / log/ssh_22_1.txt

Touch / log/ssh_22_1_ok.txt

Touch / log/ssh_22_1.txt

Rm-rf / log/ssh_22_29_ok.txt

Rm-rf / log/ssh_22_29.txt

Touch / log/ssh_22_29_ok.txt

Touch / log/ssh_22_29.txt

Net1= "10 11 12 13"

Net2= "10 11 12 13"

Net3= "10 11 12 13"

For Net in $Net1

Do

For inum in `seq 1 253`

Do

IPP= "10.0.$Net.$inum 22"

IP= "10.0.$Net.$inum"

/ bin/nc-v-w 5-z $IPP > / dev/null2 > & 1

If [$?-eq 0]; then

Echo $IPP:ok > > / log/ssh_22_0_ok.txt

Echo $IP > > / log/ssh_22_0.txt

Fi

Done

Done

For Net in $Net2

Do

For inum in `seq 1 253`

Do

IPP= "10.1.$Net.$inum 22"

IP= "10.1.$Net.$inum"

/ bin/nc-v-w 5-z $IPP > / dev/null2 > & 1

If [$?-eq 0]; then

Echo $IPP:ok > > / log/ssh_22_1_ok.txt

Echo $IP > > / log/ssh_22_1.txt

Fi

Done

Done

For Net in $Net3

Do

For inum in `seq 1 253`

Do

IPP= "10.29.$Net.$inum 22"

IP= "10.29.$Net.$inum"

/ bin/nc-v-w 5-z $IPP > / dev/null2 > & 1

If [$?-eq 0]; then

Echo $IPP:ok > > / log/ssh_22_29_ok.txt

Echo $IP > > / log/ssh_22_29.txt

Fi

Done

Done

2. Remote ssh login script with password (expect script)

Root@archivebak:~/pcu# cat/usr/local/bin/ssh_PC.exp

#! / usr/bin/expexct-f

Set ip [lindex $argv 0]

Set timeout 5

Spawn ssh ming\\ zhi.yang@$ip

Expect {

"* (yes/no) *" {send "yes\ r"; exp_continue}

"Password:" {send "*\ r"}

}

Expect "$*"

Send "ifconfig | grep addr:10 | cut-b16-32\ r"

Send "hostname\ r"

Send "who | grep ming | head-N1\ r"

Send "cat / etc/issue\ r"

Send "exit\ r"

Expect eof

Root@archivebak:~/pcu#

3. Log in batch to the ip with open port 22 through for loop (save the output when executing, sh host.sh& > > / log/pcu/users_0.txt)

Root@archivebak:~/pcu# cat hosts.sh

#! / bin/bash

For IP in `cat / log/ssh_22_ 0.txt`

Do

/ usr/bin/expect / usr/local/bin/ssh_PC.exp$IP

Done

Root@archivebak:~/pcu#

4. Count the script of ssh login success ip

Root@archivebak:~/pcu# cat ssh_22_0_no.sh

#! / bin/bash

Rm-rf / log/pcu/ubt_ip_0.txt

Rm-rf / log/pcu/ubt_ip_0_no.txt

Touch / log/pcu/ubt_ip_0.txt

Touch / log/pcu/ubt_ip_0_no.txt

For IP in `cat / log/ssh_22_ 0.txt`

Do

Co= `cat / log/users_0_bak.txt | grep-w $IP | tail-n 1 | awk-F [: "] +'{cat $3}'`

If [$Co = $IP]; then

Echo $IP > > / log/pcu/ubt_ip_0.txt

Else

Echo $IP > > / log/pcu/ubt_ip_0_no.txt

Fi

Done

Root@archivebak:~/pcu#

The script for statistical results to excel is as follows:

First sort out the executed output (pick out the successful part and save it to another document):

# cat grep_0.sh

#! / bin/bash

/ bin/rm-rf / log/PC/exp2_0.txt

/ bin/touch / log/PC/exp2_0.txt

For IP in `cat / log/ssh_22_ 0.txt`

Do

/ bin/cat / log/PC/exp_0.txt | grep-w $IP-A 10 | grep-v spawn | grep-v Wel | grep-v Pas | grep-v Conn | grep-v Last | grep-v https | grep-v updated | grep-v updates | grep-v exit | grep-v Unable | grep-v Received | grep-v Too | grep-v Please | grep-v Warning | grep-v ECDSA | grep-v programs | programs-v programs | grep-v grep | yes-v yes | | | grep-v The | grep-v denied > > / log/PC/exp2_0.txt |

Done

/ bin/cat / log/PC/exp2_0.txt | grep addr:10. | grep-v ifconfig | uniq > / log/PC/exp3_0.txt

/ bin/sed 's / [[: space:]] / / g' / log/PC/exp3_0.txt > / log/PC/exp4_0.txt

/ bin/sed 's bin/sed.\ {5\} / /'/ log/PC/exp3_0.txt > / log/PC/exp5_0.txt

Capture the successful ip, hostname, and user name information to the excel document:

# cat csv_0.sh

#! / bin/bash

/ bin/rm-rf / log/PC/csv_0.txt

/ bin/touch / log/PC/csv_0.txt

For IP in `cat / log/PC/exp4_ 0.txt`

Do

IPP= `echo $IP | sed's Compact.\ {5\} / /'`

Host= `/ bin/cat / log/PC/exp2_0.txt | grep-w $IP-A 10 | grep sh | grep-v @ | head-n 1`

User= `/ bin/cat / log/PC/exp2_0.txt | grep-w $IP-A 10 | grep: 0 | awk-F [: "] +'{print $1}'| head-n 1`

/ bin/echo "$IPP,$Host,$User" > > / log/PC/csv_0.txt

Done

/ bin/sed 's / [[: space:]] / / g' / log/PC/csv_0.txt > / log/PC/csv2_0.txt

/ bin/cat / log/PC/csv2_0.txt | tr-s'[: blank:]','> / log/PC/csv_0.csv

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report