-
Notifications
You must be signed in to change notification settings - Fork 1
/
ip-2-hosts.sh
45 lines (37 loc) · 917 Bytes
/
ip-2-hosts.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh
#!/bin/bash
TMPDIR=/tmp
OUTPUTIP=0
HTTPPREFIX=0
IP=
PREFIX=
if [ -z "$1" ]; then
echo "need an IP or hostname"
exit 1
fi
num_vhosts=10
page=0
IP="$1"
all_hosts=`mktemp -p $TMPDIR -t bing-ip2hosts.tmp.XXXXXX`
while [ "$num_vhosts" == 10 ]; do
url="http://m.bing.com/search/search.aspx?A=webresults&Q=ip%3a$IP&D=Web&SI=$page""0"
out=`mktemp -p "$TMPDIR" -t bing-ip2hosts.tmp.XXXXXX`
wget -q -O "$out" "$url"
vhosts=`cat "$out"| egrep -o "(<span class=\"c2\">)[^<]+(<\/)" | sed -e 's/<span class="c2">\|<\///g'`
num_vhosts=`echo "$vhosts" | wc -l`
echo -e "$vhosts" >> "$all_hosts"
rm -f "$out"
let page=$page+1
done
uniq_hosts=`cat "$all_hosts" | cut -d '/' -f 1 | tr '[:upper:]' '[:lower:]' | sort | uniq`
rm -f "$all_hosts"
if [ $OUTPUTIP == 1 ]; then
PREFIX="$IP,"
fi
if [ $HTTPPREFIX == 1 ]; then
PREFIX="$PREFIX""http://"
fi
for h in `echo "$uniq_hosts"`
do
echo "$PREFIX$h"
done