WHY? 之前有个connect的端口扫描程序,那个东西只适合扫localhost,一扫其他机器就×××××,反正是不能扫内网其他机器,更不要说外网主机了。这是由于connect的返回超时设置问题,《UNP》第一卷 第三版 P85-P86指出伯克利系统的超时时限为75s,Solaris9超时时限为4分钟,所以一般认为是75s到几分钟不等,而我测试的时限为189s(Linux Kernel 2.6.24),SYN6次重传~~ 好了,这就是为什么要用非阻塞connect了。一.非阻塞connect的一般步骤: 0. sockfd=socket(); Read More
目前主要的端口扫描技术有以下几种:1.TCP connect Scan(TCP连接扫描)这种方法也称之为“TCP全连接扫描”。它是最简单的一种扫描技术,所利用的是TCP协议的3次握手过程。它直接连到目标端口并完成一个完整的3次握手过程(SYN、SYN/ACK和ACK)。操作系统提供的“connect()”函数完成系统调用,用来与目标计算机的端口进行连接。如果端口处于侦听状态,那么“connect()”函数就能成功。否则,这个端口是不能用的,即没有提供服务。TCP连接扫描技术的一个最大的优点是不需要任何权限,系统中的任何用户都有权利使用这个调用。另一个好处是速度快。如果对每个目标端口以线性的方式 Read More
介绍 Socket编程让你沮丧吗?从manpages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用connect()前的bind()的结构而不知所措?等等…好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解C语言并想穿过网络编程的沼泽,那么你来对地方了。--------------------------------------------------------------------------------读者对象 这个文档是一个指南,而不是参考书。如果你刚开始socket编程并想找一本入门书,那么你是我的读者。但这不是一本完全的socke Read More
使用方法: # PS1='自定义内容' 注意两边的单引号 示例1: PS1='(\u@\H \d \t)\$'示例2: PS1="\[\033]2;\h:\u \w\007\033[33;1m\]\u \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]" ---------------------------------------------------------------------------------------------------------------- PS1:就是 Read More