UDP TCP 客户端 服务器
socket实例化
socket(family,type,[protocal])协议族(默认AF_INET),,SOCK_STREAM(TCP)/SOCK_DGRAM(UDP)
s=socket.socket()
初始化TCP:s=socket.socket()
初始化UDP:s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
socket常用函数
服务器
s.bind((‘127.0.0.1’,2345))绑定IP和端口
s.listen(5)最大监听5个端口
conn,address=s.accept()套字对象,客户端地址(本机)
客户端
s.connect((“127.0.0.1”,2345))
通用
send()
sendall()区别在于可以完整发送TCP数据
s.snedall(bytes(“Hello”,encoding=“utf-8”))
recv(bufsize)最多可以接受的数量
sendto(string[,flag],address)使用UDP时发送数据
recovfrom(data,address) UDP专用,接受数据
close()关闭socket
nmap实例化
nm = nmap.PortScannerAsycn()
常见函数
scan(self,hosts=“127.0.0.1”,ports=None,arguments="-sV",sudo=False)
nm.scan(“127.0.0.1”,“1-500”,"-sS")1-500端口
nm.all_hosts()返回被扫描的所有主机列表
nm.command_line()返回再当前扫描中使用的命令行
nm.csv()返回被扫描主机的csv格式的文件
print(nm.csv())希望看得更清楚
nm.has_hsot检查是否有host扫描结果,返回值为false/true
nm.scaninfo()列出扫描信息的结构
nmp[“192.168.1.101”].hostname()获取192.168.1.1.1的主机名
still_scanning()是否正在扫描
wait(2)等待时间
stop()停止当前扫描