Articles of networking

我如何使用EPOLLHUP

你们能给我提供一个很好的示例代码,使用EPOLLHUP进行死对等处理吗? 我知道这是一个信号,以检测用户断开连接,但不知道如何在代码中使用这个..预先感谢..

拉撒路:如何列出系统上所有可用的networking连接?

我正在使用Lazarus IDE在Linux系统上编写程序。 程序应该连接到Internet或Intranet。 所以,我想向用户列表显示所有可用的networking连接,如果系统上有两个活动的网卡,它们可以用来连接到Internet或Intranet,那么这个程序应该显示它们的可用连接。 目前,我不知道从哪里开始或使用什么工具。 任何提示,线索或build议将不胜感激。

如何检查C中的networking设备状态?

我想检查一个networking设备状态,例如promiscous模式。 基本上像ip显示一个命令。 也许有人能把我推向正确的方向? 我想在Linux中做这个,所以linux特定的头文件可用。

我如何接收错误的以太网帧并禁用CRC / FCS计算?

我在运行Linux的两台PC之间生成一个stream量(通过发送以太网帧),目标是捕获一些错误帧。 问题是什么时候Phy层检测到一个帧的错误(如果CRC或FCS无效)帧被丢弃,我不能在我的程序接收它。 是否有任何方法来接收错误的框架(禁用在物理层的下降,并收到一个指示,表明这个帧是错误的,例如),我怎么可以咨询统计的NIC卡(滴数…等)。

我如何使python程序检查linux服务

我想制作简单的python脚本,我可以在cron作业上运行。 我只想看看这些服务是否正在运行或停止 Httpd mysql 我应该如何检查他们与python。 我需要parsingnetstat -tlnp的输出

将PCAP跟踪转换为NetFlow格式

我想将一些PCAP跟踪转换为Netflow格式,以便使用netflow工具进一步分析。 有没有办法做到这一点? 具体来说,我想使用“stream量导出”工具来从networkingstream量跟踪中提取一些感兴趣的领域,如下所示: $ flow-export -f2 -mUNIX_SECS,SYSUPTIME,DPKTS,DOCTETS < mynetflow.trace 在这种情况下,mynetflow.trace文件是通过使用以下命令转换PCAP文件获取的: $ nfcapd -p 12345 -l ./ $ softflowd -n localhost:12345 -r mytrace.pcap 这会生成一个networkingstream量跟踪,但是由于它的格式不正确,无法正确使用stream量导出。 我也尝试pipe道输出以下命令stream出口,如下所示: $ flow-import -V1 -z0 -f0 <mynetflow.trace | flow-export -f2 -mUNIX_SECS,SYSUPTIME,DPKTS,DOCTETS 但第一个命令的输出生成零时间戳。 有任何想法吗?

Docker的macvlannetworking,无法访问互联网

我有一个具有多个IP地址的专用服务器,一些IP具有关联的MAC地址,而另一些IP地址(在子网中)没有MAC地址。 我创build了docker macvlannetworking使用: docker network create -d macvlan -o macvlan_mode=bridge –subnet=188.40.76.0/26 –gateway=188.40.76.1 -o parent=eth0 macvlan_bridge 我有IP:88.99.102.115与MAC:00:50:56:00:60:42。 创build一个容器使用: docker run –name cont1 –net=macvlan_bridge –ip=88.99.102.115 –mac-address 00:50:56:00:60:42 -itd nginx 这工作,我可以从外部访问nginx在该ip地址托pipe。 与没有MAC地址的IP和网关不在子网的情况。 子网:88.99.114.16/28,网关:88.99.102.103 无法使用以下方式创buildnetworking docker network create -d macvlan -o macvlan_mode=bridge –subnet=88.99.114.16/28 –gateway=88.99.102.103 -o parent=eth0 mynetwork 引发错误: no matching subnet for gateway 88.99.102.103 尝试增加子网范围包括网关: docker network create -d […]

Linux套接字缓冲区如何溢出?

我有一个从Linux 64位平台(2.6.18)上的多播套接字读取的Java阅读器应用程序。 套接字大小已被设置为2 MB。 当阅读器读不到足够快时,套接字“溢出”,即数据包从缓冲器中丢弃。 我想知道的是Linux内核如何将数据包从套接字缓冲区中取出。 我假设套接字缓冲区本身是一个FIFO缓冲区。 但是,如果满了会发生什么? 下一个数据包是否会被丢弃(并且缓冲区内容不会改变)? 或者将新的数据包replace缓冲区中的旧数据包? 如果是的话,哪个数据包(最老的?,最年轻的?,一个随机select的数据包?)? 感谢您的任何见解。

如何使用套接字地址获取自己的IP地址?

我想获得我的程序启动的计算机的IP地址,然后将其发送到客户端,但我总是得到0.0.0.1,而不是真正的IP地址(例如127.0.0.1)。 我目前能够获得端口,但不是IP地址。 我怎么才能得到它? 最好的解决办法是能够用sockaddr_in来获得它。 这是我目前正在做的事情: int open_connection(char* ip, int* port) { int sock; struct sockaddr_in sin; socklen_t len; int i; i = 0; len = sizeof(sin); if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) return (-1); bzero(&sin, sizeof(struct sockaddr_in)); sin.sin_family = AF_INET; if (bind(sock, (struct sockaddr *) &sin, sizeof(sin)) != 0) perror("Error on bind"); if […]

有没有办法阻止套接字发送(),直到我们得到该数据包的确认?

还是我必须在应用程序级别实现它?