全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2749|回复: 17

利用ipcheck检测TCP阻断情况并推送TG

[复制链接]
发表于 2019-6-14 13:49:46 | 显示全部楼层 |阅读模式
本帖最后由 liyafe1997 于 2019-6-14 15:08 编辑

半个月过去了,小鸡还没有放出来,由于手上的小鸡略多,每次手动查比较麻烦,就批量利用ipcheck的API跑吧,感觉ipcheck的误报也不是那么严重,将就着用吧,查询结果都会推送到telegram BOT上,shell写的烂,勿见怪!



准备工作:[img][/img]
1、telegram BOT TOKEN:去找botfather创建个bot吧https://t.me/BotFather
2、telegram chat_id:https://t.me/get_id_bot
3、脚本需要用到jq,脚本有设置检测是否安装,没怎么测试发行版,不过应该可以用

配置信息存放:
1、找个目录存放ip_list.csv和status.txt俩个文件
2、ip_list.csv格式
  1. region,ip
  2. 样例:
  3. HK,192.168.1.188
复制代码


定时运行-样例:
  1. 0 */3 * * * bash /root/tcp_check/check_tcp.sh
复制代码


代码,代码中文(高墙)转换为"g f w":
  1. #!/usr/bin/env bash

  2. tg_bot_api="xxxxxxx"
  3. tg_chat_id="xxxxxx"

  4. ip_list=/root/tcp_check/ip_list.csv
  5. tmp=/root/tcp_check/status.txt

  6. check_sys(){
  7.     if [ -f /etc/redhat-release ]; then
  8.         release="centos"
  9.         elif cat /etc/issue | grep -Eqi "debian"; then
  10.         release="debian"
  11.         elif cat /etc/issue | grep -Eqi "ubuntu"; then
  12.         release="ubuntu"
  13.         elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then
  14.         release="centos"
  15.         elif cat /proc/version | grep -Eqi "debian"; then
  16.         release="debian"
  17.         elif cat /proc/version | grep -Eqi "ubuntu"; then
  18.         release="ubuntu"
  19.         elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then
  20.         release="centos"
  21.     else
  22.         release=""
  23.     fi
  24. }
  25. install_jq(){
  26.     check_sys
  27.     if [[ ${release} == "centos" ]]
  28.     then
  29.         check_jq=$(sudo yum list installed jq|grep "jq"|wc -l)
  30.         if [[ ${check_jq} -eq 0 ]]
  31.         then
  32.             sudo yum install -y jq
  33.         fi
  34.     elif [[ ${release} == "ubuntu" || ${release} == "debian" ]]
  35.     then
  36.         check_jq=$(sudo apt list installed jq|grep "jq"|wc -l)
  37.         if [[ ${check_jq} -eq 0 ]]
  38.         then
  39.             sudo apt install -y jq
  40.         fi
  41.     fi
  42. }

  43. check_tcp(){
  44.     install_jq
  45.     time=$(date "+%Y-%m-%d-%H:%M:%S")
  46.     for (( i = 1; i <= $(cat ${ip_list}|wc -l); ++i )); do
  47.         get_ip=$(cat ${ip_list}|sed -n ''${i}'p'|awk -F ',' '{print$2}')
  48.         get_region=$(cat ${ip_list}|sed -n ''${i}'p'|awk -F ',' '{print$1}')
  49.         tcp_status=$(curl -s --connect-timeout 5 --retry 2 --request -XGET --url 'https://ipcheck.need.sh/api_v2.php?ip='${get_ip}'' |jq .data.inside_高墙.tcp.alive)
  50.         if [[ ${tcp_status} == "true" ]]; then
  51.             echo "${get_region}:${get_ip},TCP未被阻断" >> ${tmp}
  52.         elif [[ ${tcp_status} == "false" ]]; then
  53.            echo "\`${get_region}:${get_ip},TCP被阻断\`" >> ${tmp}
  54.         else
  55.             exit
  56.         fi
  57.     done

  58.     msg_templete="***检测时间-${time}***

  59. \`主机状态\`

  60. '$(cat ${tmp})'"

  61.     #text=$(echo "${msg_templete}"|python -c 'import sys;import urllib;import urllib.parse; print (urllib.parse.quote_plus(sys.stdin.read()))')
  62.     text=$(echo "${msg_templete}"|python -c 'import sys;import urllib; print (urllib.quote_plus(sys.stdin.read()))')

  63.     curl -s --connect-timeout 5 --retry 2 --request GET --url  'https://api.telegram.org/bot'${tg_bot_api}'/sendMessage?chat_id='${tg_chat_id}'&text='${text}'&parse_mode=markdown'
  64.     rm -rf ${tmp}
  65. }

  66. check_tcp
复制代码
che 该用户已被删除
发表于 2019-6-14 23:16:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2019-6-14 13:52:24 | 显示全部楼层
技术大佬顶一哈
 楼主| 发表于 2019-6-14 13:59:51 | 显示全部楼层
Ark.Lyu 发表于 2019-6-14 13:52
技术大佬顶一哈

新手,大佬不敢当
发表于 2019-6-14 15:15:42 | 显示全部楼层
shell dalao 滋滋一下
发表于 2019-6-14 16:14:08 来自手机 | 显示全部楼层
TG要手机一直学习,发微信好了~
发表于 2019-6-14 17:54:51 来自手机 | 显示全部楼层
可以推送到server酱吗
发表于 2019-6-14 17:57:45 | 显示全部楼层
技术贴,顶一哈
发表于 2019-6-14 17:58:48 来自手机 | 显示全部楼层
尽管不认字看到shell就收藏
发表于 2019-6-14 19:26:50 | 显示全部楼层
u159822 发表于 2019-6-14 17:54
可以推送到server酱吗

利用ipcheck写一个脚本检测小鸡是否被x并利用方糖推送到微信
https://www.hostloc.com/thread-557390-1-1.html
(出处: 全球主机交流论坛)

我写了个推到server酱的,大佬们勿喷
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-5-13 20:11 , Processed in 0.072601 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表