iNet

OMNET++ how to access function or variables in another class

放肆的年华 提交于 2021-01-28 07:16:34
问题 I have modified inet NodeStatus.cc with a customized function that return the variable value as follows: int NodeStatus::getValueA() { return ValueA; } Then, I created another simple module called simpleNodeB.cc and I wanted to retrieve ValueA from NodeStatus.cc. I tried the following code in simpleNodeB.cc but didn't work: if(getParentModule()->getSubModule(NodeStatus).getValueA()==test1) bubble("Value is the same"); The error message I got -> error: expected expected primary-expression

python socket实例

一个人想着一个人 提交于 2021-01-23 21:01:41
1.客户端向服务端发送 #coding:utf-8 '''客户端''' import socket khd=socket.socket() #声明socket类型,同时生产socket连接对象 khd.connect(('localhost',2345)) #连接 khd.send('应用') data=khd.recv(1024) print("recv:",data) khd.close() #coding:utf-8 '''服务端''' import socket fuwud=socket.socket() #()内不写东西的话,代表第一个地址簇AF.INET fuwud.bind(('localhost',2345)) #绑定要监听端口 fuwud.listen(5) #监听 print"等待中。。。。" conn,addr=fuwud.accept() #等数据进来 #conn就是客户端连过来而在服务端为其生成的一个连接实例,连接标志。addr对方的地址addr对方的地址 print conn,addr print'开始了!' data=conn.recv(1024) print "recv:",data conn.send(data.upper()) fuwud.close() 先运行服务端再运行客户端 结果: 等待中。。。。 <socket._socketobject

python用raw socket方式接收icmp包

廉价感情. 提交于 2021-01-23 19:57:40
import socket import sys while True : r = socket.socket(socket.AF_INET , socket.SOCK_RAW , socket.getprotobyname( 'ICMP' )) r.settimeout( 5 ) if sys.platform == 'win32' : # windows 对 raw socket 有限制,需要 bind 一个地址 # https://docs.microsoft.com/en-us/windows/win32/winsock/tcp-ip-raw-sockets-2 r.bind(( "127.0.0.1" , 0 )) r.ioctl(socket.SIO_RCVALL , socket.RCVALL_ON) try : packet , address = r.recvfrom( 1024 ) ipHeaderPacket = packet[ 0 : 20 ] sourceIp = "%d.%d.%d.%d" % (ipHeaderPacket[ 12 ] , ipHeaderPacket[ 13 ] , ipHeaderPacket[ 14 ] , ipHeaderPacket[ 15 ]) icmpHeaderPacket = packet[ 20 : 28 ]

centos7安装gitlab

北慕城南 提交于 2021-01-20 01:38:00
一、简介 GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的web服务。 二、环境 虚拟机 centos 7 64位 内存:4GB 三、安装 1.下载好 gitlab 的rpm 包,我下载的是gitlab-ce-11.6.0-ce.0.el7.x86_64.rpm https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 2.安装 gitlab 的依赖包 yum install curl openssh-server openssh-clients postfix cronie policycoreutils-python –y yuminstall -y patch 3.启动 postfix,并且设置为开机启动 systemctl start postfix systemctl enable postfix 如果postfix启动报错: inet_interfaces: no local interface found for ::1 使用systemctl start postfix时,提示: Job for postfix.service failed because the control process exited with error code. See

使用Python开发客户端和服务端程序 理解应用层协议和表示层

假装没事ソ 提交于 2021-01-19 08:39:28
很多学习计算机网的学生,对于服务器和客户机,以及应用层协议 表示层理解的不彻底,在这里我使用Python编写了用于传输学生信息的程序。服务端使用TCP的8898端口侦听客户端的请求。客户端向服务端发送学生信息。信息的格式已经固定。QQ号+姓名+手机号+地址,每个学生一行。服务端收到后将信息存储到记事本文件。 服务端程序代码: from socket import * host = '192.168.80.120' bufferSize = 1024 port = 8898 sc = (host,port) s = socket(AF_INET,SOCK_STREAM) s.bind(sc) s.listen() c,addr = s.accept() data = c.recv(bufferSize) print(data.decode('utf_8')) f = open('.\student.txt','a+') f.write(data.decode('utf_8')) f.close() c.send('200,收到学生信息\n'.encode(encoding='utf_8')) c.close() s.close() 客户端程序代码: import socket sk = socket.socket() sk.connect(('192.168.80.120',8898

Linux性能优化(七)——网络流量监控工具

允我心安 提交于 2021-01-18 10:26:16
一、iftop 1、iftop简介 iftop命令可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。 在线安装:yum install iftop 2、iftop命令 iftop -h | [-nNpblP] [-u unit] [-i interface] [-f filter code] [-F net/mask] [-G net6/mask6] -h:查看帮助信息 -i:指定监控网卡 -b:不显示流量柱状图 -B:以字节为单位显示流量(默认bits) -n:不解析主机名称,直接都显示IP -N:不解析端口服务,直接显示端口号 -F:显示特定网段的进出流量 -m limit:设置带宽上限,可使用K、M、G作为后缀 iftop -b -n -N -F 192.168.0.0/24 TX:发送流量 RX:接收流量 TOTAL:总流量 cum:累积总流量 peak:流量峰值 rates:分别表示最近2s、10s、40s的平均流量 3、iftop交互命令 按h切换是否显示帮助 按n切换显示本机IP或主机名 按s切换是否显示本机的host信息 按d切换是否显示远端目标主机的host信息 按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量 按N切换显示端口号或端口服务名称 按S切换是否显示本机的端口信息 按D切换是否显示远端目标主机的端口信息

2021年第三期培训(新手必须掌握的命令)

十年热恋 提交于 2021-01-16 13:22:05
2.3 常用系统工作命令 1.echo命令 echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。 例如,把指定字符串“Linuxprobe.com”输出到终端屏幕的命令为: [root@linuxprobe ~]# echo Linuxprobe.Com 该命令会在终端屏幕上显示如下信息: Linuxprobe.Com 2.date命令 date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。 [root@linuxprobe ~]# date Mon Aug 24 16:11:23 CST 2017 按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示: [root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S" 2017-08-24 16:29:12 3.reboot命令 reboot命令用于重启系统,其格式为reboot。 [root@linuxprobe ~]# reboot 4.poweroff命令 poweroff命令用于关闭系统,其格式为poweroff。 [root@linuxprobe ~]# poweroff 5.wget命令 wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。 6.ps命令

python:socket网络编程

£可爱£侵袭症+ 提交于 2021-01-16 04:51:39
Socket   网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket, 又称为“套接字”。 模块 1 import socket 创建套接字 1 socket.socket([family[, type[, proto]]]) family: 套接字家族可以使AF_UNIX或者AF_INET type: 套接字类型可以根据是面向连接的还是非连接分为 SOCK_STREAM(基于TCP) 或 SOCK_DGRAM(基于UDP) protocol: 一般不填默认为0. 常用函数 sk.bind(address)   s.bind(address) 将套接字绑定到地址。address地址的格式取决于地址族。在AF_INET下,以元组(host,port)的形式表示地址。 sk.listen(backlog)   开始监听传入连接。backlog指定在拒绝连接之前,可以挂起的最大连接数量。 backlog等于5,表示内核已经接到了连接请求,但服务器还没有调用accept进行处理的连接个数最大为5 这个值不能无限大,因为要在内核中维护连接队列 sk.accept()   接受连接并返回(conn,address),其中conn是新的套接字对象,可以用来接收和发送数据。address是连接客户端的地址。   接收TCP 客户的连接(阻塞式)等待连接的到来

Python3之socket网络编程

喜欢而已 提交于 2021-01-16 03:31:54
socket套接字工作流程 socket()模块函数用法 import socket socket.socket(socket_family,socket_type,protocal=0) socket_family 可以是 AF_UNIX 或 AF_INET。socket_type 可以是 SOCK_STREAM 或 SOCK_DGRAM。protocol 一般不填,默认值为 0。 获取tcp/ip套接字 tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 获取udp/ip套接字 udpSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 由于 socket 模块中有太多的属性。我们在这里破例使用了'from module import *'语句。使用 'from socket import *',我们就把 socket 模块里的所有属性都带到我们的命名空间里了,这样能 大幅减短我们的代码。 例如tcpSock = socket(AF_INET, SOCK_STREAM) 服务端套接字函数 s.bind() 绑定(主机,端口号)到套接字 s.listen() 开始TCP监听 s.accept() 被动接受TCP客户的连接,(阻塞式)等待连接的到来

Python-面向网络编程-socket原理

不想你离开。 提交于 2021-01-15 19:12:08
socket   整个计算机网络是由协议构成,想要通信必须遵守对应的协议,如Web中的http协议、传输协议TCP和UDP等等。在网络工程师的眼中,可能现在网络上的一切都是socket,一切皆socket,我们一般接触到的是应用层应用程序,本质上两个应用想通信,则必须通过socket实现通信,socket直接和传输层后下面的底层网络协议打交道(socket本身让我们直接与TCP打交道),底层socket已经建立好则可以互相通信。互联网现在主流的网络层协议是IPv4,IPv6是下一代网络层协议但不主流,IPv6解决的是IPv4地址耗尽的问题,其实为了应对IPv4资源少的问题产生了局域网和网关。 网络模型   其发展过程,是一次解决需求的迭代过程。当计算机刚发明并投入使用,两台计算机想实现点对点通信,于是产生了数据链路层,当加入更多的计算机实现通信的时候,就产生了网络层,实现通信还不能满足需求,需要通过网络传输数据,则产生了传输层,对于可靠性的需求产生了TCP和UDP两种传输协议,不同的用户有不同的需求,于是应用层就被划分出来了。用户在应用层使用各种app,数据依次往下组包直至物理层发送到网络,接收数据则往上拆包得到最终数据。本质上是需求推动了网络层次的产生,当前把网络七层模型中的会话、表示、应用层统称为应用层。   应用层      文件传输、文件服务、电子邮件 http ftp