当前位置:  技术问答>linux和unix

求LINUX下的端口扫描程序

    来源: 互联网  发布时间:2016-07-20

    本文导语:  使用Socket API,接受IP 地址,输出该IP 地址对应的主机所支持的 | 以前调试过一个,发个你看下吧。 其实道理不难,就是发送icmp包,跟ping类似,然后等待回应,若超时或者无响应则判断端口未开。 主机扫描的...

使用Socket API,接受IP 地址,输出该IP 地址对应的主机所支持的

|

以前调试过一个,发个你看下吧。
其实道理不难,就是发送icmp包,跟ping类似,然后等待回应,若超时或者无响应则判断端口未开。
主机扫描的也类似。

#include

#include

#include

#include

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include 


/*#define CHKADDRESS( _saddr_)
{
   u_char *p =(char *)&(_saddr_);
   if( (p[0] == 10) || (p[0] ==168 &&16icmp_code!=ICMP_UNREACH_PORT) ||(port!=dstport))
{
if(count>10)
{
printf("port %d:icmp_type is %d;icmp_code is %d.n",port,icmp->icmp_type,icmp->icmp_code);
break;
}
if(ip->ip_src.s_addr==send_sa.sin_addr.s_addr && port==dstport)
{
//printf(" %d timesr",count);
count++;
break;
}
//printf("Not target icmp packet.continue check port %dn",dstport);
continue;
}
else
{
struct servent *se;
se=getservbyport(htons (dstport)," udp");
//if(se!=NULL)
printf("%5d %-20sn",dstport,(se==NULL)?"unkown":se->s_name);
}
break;
}
  }
  return EXIT_SUCCESS;
}

|
[root@RHEL4_U5 ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:ftp                       *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
getnameinfo failed
getnameinfo failed
tcp        0      0 [UNKNOWN]:ssh               [UNKNOWN]:2341              ESTABLISHED
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  4      [ ]         DGRAM                    5684   /dev/log
unix  2      [ ACC ]     STREAM     LISTENING     5895   /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     6133   /tmp/.font-unix/fs7100
unix  2      [ ACC ]     STREAM     LISTENING     6106   /var/run/iiim/.iiimp-unix/9010
unix  2      [ ACC ]     STREAM     LISTENING     6169   /var/run/dbus/system_bus_socket
unix  2      [ ]         DGRAM                    6358   @/var/run/hal/hotplug_socket
unix  2      [ ]         DGRAM                    3840   @udevd
unix  2      [ ]         DGRAM                    14405
unix  3      [ ]         STREAM     CONNECTED     6357   /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     6356
unix  3      [ ]         STREAM     CONNECTED     6177
unix  3      [ ]         STREAM     CONNECTED     6176
unix  2      [ ]         DGRAM                    6028
unix  3      [ ]         STREAM     CONNECTED     5795
unix  3      [ ]         STREAM     CONNECTED     5794
unix  2      [ ]         DGRAM                    5703
[root@RHEL4_U5 ~]#

|
开源的 nmap ...

    
 
 

您可能感兴趣的文章:

  • Linux下的80端口被apache的服务占了,如何才能是80端口默认访问的是tomcat?
  • Linux下的Socket通信如何断开连接的端口从而实现重复使用该端口
  • linux中端口不能访问,我该怎么消除限制让它可以访问所有端口
  • 怎么知道自己的redhat linux 的端口是否已经开放,比如我想看看80和21端口是否开放?
  • linux下如何监听自定义端口?包括端口状态和数据
  • 我要在LINUX(REDHAT)下安装邮件系统,但是提示我SMTP端口和POP3端口正在使用中,该如何?
  • 请问:我正在编linux下的openssl程序,它是要用443号端口的,调试时却不通,应是linux系统占用了该端口,我怎可停了它以作我用,或停了系统的op
  • 如何配置linux可以让普通用户使用80端口或1024以下的端口?
  • linux 如何让端口一直处于打开状态 比如 nc -lp 12000& 打开12000端口 可是马上就关闭了 现在可有办法让其一直处于打开状态
  • redhat linux7.3怎么查端口是否已被系统使用啊?? 我正要用ssl的一个代理模块stunnel-4.03,它默认要用443号端口,客户机连接不能通,但改成
  • LINUX 访问网页不要端口
  • linux 下 java应用程序开不了3000端口监听 ?
  • 在linux下能实现多端口映射吗?
  • linux端口问题求教
  • linux 80端口不能用(急)
  • linux打开udp端口
  • Linux下普通用户为何无法使用2000以下端口?
  • Red Hat Linux9上如何查询和设置端口状态?
  • 请问如何在linux下关闭一个正在监听的端口?
  • linux上如何查某个端口上运行的程序??
  • 在linux下怎样扫描硬盘
  • 在linux操作系统中如何对打印机,扫描仪使用的次数进行审计
  • linux下的网络扫描器用什么层次的技术实现?
  • 请问LINUX下用什么方法扫描键盘
  • 在linux操作系统如何判断传真机,扫描仪,打印机是否当前连接??
  • linux的apache服务器的默认网页路径在扫描地方?急用!
  • linux 下使用USB条码扫描枪的错误,请帮我看一下
  • centos linux5.4下如何拒绝扫描攻击
  • LINUX下TCP SYN(半连接)的扫描程序如何实现?请给出源码!100期待
  • 我在linux下写了个简单的多线程端口扫描程序,运行时出现问题,请教一下!
  • 求助改正/用c在LINUX下写的端口扫描程序有错误 /希望能在6.10前解决
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下通过crond实现自动执行程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • linux上的程序怎样远程启动另一个linux系统上的某个程序
  • 如何使用linux下gdb来调试python程序
  • 在linux下面怎么安程序啊?我刚裝了一个 linux,下了一个迅雷安装程序,可是不知道怎么安装啊?真心请教。
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户
  • Linux程序员在公司里做什么程序?(Linux程序员请进)
  • 我的linux程序 如何 在pc机器上运行。现在我用arm-linux-g++ 编译后的程序在我的嵌入设备上运行。
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • 请指点: 在windows下能否通过程序来获取linux下的用户列表,甚至通过自己写的windows程序界面增加修改linux的用户 100分相赠
  • linux初学者一简单问题!在线送分!linux设备驱动程序一书的第一个程序.
  • 论坛 iis7站长之家
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • linux下,一个程序如何向另一个程序发送消息,另一个程序如何接收
  • 请问载linux下如何调试汇编程序,有没有像debug的程序。
  • linux的程序员是不是比windows程序员的薪水高啊?
  • 菜鸟求助:Linux 应用程序后台启动后关闭窗口程序退出
  • 请教:如何在linux服务器上实现一个程序,该程序可启动远程linux客户端上的一个脚本(sh后缀)的执行
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3