In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
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.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.