程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了python bind socket.error:[Errno 13]权限被拒绝大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决python bind socket.error:[Errno 13]权限被拒绝?

开发过程中遇到python bind socket.error:[Errno 13]权限被拒绝的问题如何解决?下面主要结合日常开发的经验,给出你关于python bind socket.error:[Errno 13]权限被拒绝的解决方法建议,希望对你解决python bind socket.error:[Errno 13]权限被拒绝有所启发或帮助;

您不能以非特权用户身份绑定到小于1024的端口号。

因此,您应该:

  • 使用大于1024的端口号(推荐)@H_404_6@
  • 或以特权用户身份运行脚本@H_404_6@

如果确实有必要接受111的建议,那么更困难,但是更安全的解决方案:

  • 在较高端口上以非特权方式运行as,然后从外部将端口111转发至该端口。 @H_404_6@

解决方法

我有一个python脚本,该脚本从远程计算机获取数据包并将它们(os.write(self.tun_fd.fileno(),’‘.join(packet)))写到tun接口gr3:

Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
inet addr:10.0.0.6  P-t-P:10.0.0.8  Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
RX packets:61 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500 
RX bytes:5124 (5.0 KiB)  TX bytes:0 (0.0 b)

我想通过一个单独的pong脚本接收这些数据包,如下所示:

import threading,os,sys,fcntl,struct,socket
from fcntl import ioctl
from packet import Packet

HOST = '10.0.0.6'
PORT = 111
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((HOST,PORT))
s.listen(1)
conn,addr = s.accept()
print 'Connected by',addr
while 1:
    data = conn.recv(1024)
    if not data: break
    else: print data    
    conn.sendall(data)
conn.close()

我收到此错误:

s.bind((HOST,PORT))
File "<String>",line 1,in bind
socket.error: [Errno 13] Permission denied

大佬总结

以上是大佬教程为你收集整理的python bind socket.error:[Errno 13]权限被拒绝全部内容,希望文章能够帮你解决python bind socket.error:[Errno 13]权限被拒绝所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。