用Python做个网络监视器,错误提示无效的参数

想做个网络监视器,下面的代码是从网上看的,print里面的65565是一个端口号?还是什么参数?运行后提示:
print(s.recvfrom(65565))
OSError: [WinError 10022] 提供了一个无效的参数。

 import socket
s = socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_TCP)
while True:
    print(s.recvfrom(65565))

如果说是我的电脑上没有65565这个端口,那我把它改为8080或者4000也提示同样的错误,请各位老师指点,谢谢。

端口号的范围从0到65535
换别的端口,是不是已经被占用了

qq端口是4000,网络服务器端口是8080,换这两个都不行,不知道是什么原因,难道是我理解错误?这个参数不是端口号?

help(socket.socket().recvfrom)
Help on built-in function recvfrom:

recvfrom(...)
recvfrom(buffersize[, flags]) -> (data, address info)

Like recv(buffersize, flags) but also return the sender's address info.