目录
实验环境
- Ubuntu 21.04
- python3
实验目的
- 实现客户端多子进程发送数据包至同一个服务器
- 为客户端每个子进程预留同样的物理内存空间
成果
- 客户端
import multiprocessing
import psutil
import os
import resource
from scapy.all import *
def pkt_send(i):
os.system("prlimit --pid %s --rss=10" %os.getpid())
os.system("sudo renice -5 -p %s "%(os.getpid()))
os.system("ps -l -p %s"%os.getpid())
print("----in 主进程 pid=%d---父进程pid=%d----" % (os.getpid(), os.getppid()))
p=Ether()/IP(dst="192.168.0.3", src="192.168.0.2")/TCP(sport=5000,dport=80)/"Payload"
sendp(p,iface='ens33')
print("This is process",i)
if __name__ == '__main__':
process_list = []
for i in range(3):
p = multiprocessing.Process(target=pkt_send,args=(i,))
p.start()
process_list.append(p.pid)
for i in process_list:
os.system("prlimit --pid %s --rss" %i)
- 服务器
from scapy.all import *
import pprint
def packet_callback(packet):
pprint.pprint(packet)
sniff(filter="ip src 192.168.0.2 and tcp and tcp port 80",prn=packet_callback, count=0)
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/275547.html