python怎样实现监听程序的端口。如apache开着, 一旦有数据到达80的端口 他就会记录下来

python怎样实现监听程序的端口。如apache开着, 一旦有数据到达80的端口 他就会记录下来,第1张

apache占用了80端口python的socket就不能用了啊,要不怎么知道数据发给谁呢,你可以让python使用80,apache使用别的,然后让python收到后转发给apache。

/

实在对不起。因为我现在没有调试运行环境(没装任何电子邮件程序),只是在后备的源码上删改的,没有运行确认。检查发现确实漏了这样一句:

tcph = (tcp_header ) ((u_char)ih + (ih->ver_ihl & 15)4);

还挺复杂,如果不清楚ip头的数据结构这一句还真对付不出来。加在ih=后面即可。

另外, buf[i]=0; 之前加上 buf[i++]='\n'; 可能使输出更好读。或者像下面这样改,就不用 flog 和 isFirst了。原来的struct tm ltime; 也不需要。

如果还不行,看来我就得装一个Foxmail实际调试了。

删改的结果可能还有错误或有的东西没有用到而没有删去。我注明了是参考 group__wpcap__tut6html

但详细网址已经记不得了,从别的文档检查,可能是 >

逻辑不正确 

accSck = sckAccept();//是一个阻塞。当处理完一次后一直处于等待下一个连接。

正确流程写法:

           // 开始监听          

     sck = new Socket(AddressFamilyInterNetwork, SocketTypeStream, ProtocolTypeTcp);         

        IPAddress ip = IPAddressParse(IP);   

        IPEndPoint point = new IPEndPoint(ip, port);    

          sckBind(point);    

          sckListen(10);

        while(true)

{

accSck = sckAccept();

thread th=new Thread(word);

 thisbackground=true;

thstart(accsck);

}

 private void work(object socket)

{

Socket  accSck=(Socket)socket;

byte[] buffer = new byte[1024  1024  10];

whil(true)

{

try{            

        accSckReceive(buffer);                    // 将字符流转换成文件                 nRAR(fileName);

}catch

{

   accSckClose();  

}

}                 

}

你好亲远程端口没有监听任何服务原因和解决方法如下1,安全组未开放指定端口2,服务器开启了防火墙3,指定端口未处于工作监听状态(即被服务占用)4,指定端口处于工作监听状态,但绑定了指定ip地址(bindIp)解决方法如下命令行输入netca 回车运行oracle net configuration assistant,选择监听程序配置-》下一步-》接下来的步骤可以都选默认一直下一步到最后,即可。

在Windows XP中要查看系统端口,可以使用Netstat命令,点击开始---运行---键入cmd,打开命令提示符窗口,在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。

如何关闭端口:

在默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等,为了系统的安全性,我们可以通过下面的方法来关闭端口:

比如关闭SMTP服务的25端口,可以这样做:打开控制面板----管理工具----服务,接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“确定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。

还有种方法就是直接打开系统盘C:\WINDOWS\SYSTEM32\drivers\etc目录下的services文件,用记事本打开,你可以看到自己开放的所有端口,如果想关掉此端口,只要在前面加上“#”号就可以了。

补:Netstat命令用法:

命令格式:Netstat -a -e -n -o -s

-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。

-e 表示显示以太网发送和接收的字节数、数据包数等。

-n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。

-o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。

-s 表示按协议显示各种连接的统计信息,包括端口号

----------------------------------------------------------------------------------------------------------------------------------------------

进入CMD,输入netstat -ano就可以很清楚的看到本地80口占用程序的PID,然后再去任务管理器里查找到PID所对应的进程(如果任务管理器没有PID,查看-->选择列),原来是迅雷5给占用了,再去迅雷里查看设置,竟然BT的默认TCP传输端口是80,改掉设置,IIS启动正常了。。。

以上就是关于python怎样实现监听程序的端口。如apache开着, 一旦有数据到达80的端口 他就会记录下来全部的内容,包括:python怎样实现监听程序的端口。如apache开着, 一旦有数据到达80的端口 他就会记录下来、有没有什么函数能监听网络端口啊、用C#写了个Windows服务程序,监听某个端口是否有数据传来。但是为什么只能监听到第一次数据流等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存