网络
文章平均质量分 81
高晓伟_Steven
wx_cangying1988的博客
展开
-
Linux网卡丢包分类整理(2)——驱动篇
每个CPU核都有一个backlog队列,与Ring Buffer同理,当接收包的速率大于内核协议栈处理的速率时,CPU的backlog队列不断增长,当达到设定的netdev_max_backlog值时,数据包将被丢弃。表示的是 CPU2 和 CPU1,0 号 CPU 的掩码是 0x1 (0001),1 号 CPU 掩码是 0x2 (0010),2 号 CPU 掩码是 0x4 (0100),3 号 CPU 掩码是 0x8 (1000) 依此类推。当 NIC 内部缓冲区写满后,就会丢弃部分数据,引起丢包。原创 2022-09-22 18:15:00 · 5846 阅读 · 1 评论 -
Linux网卡丢包分类整理(1)——网卡篇
网卡丢包怎么办?或者再具体点,使用ifconfig查看网卡,发现有dropped统计时可以从哪些方面进行调查?要想知道为什么丢包,首先要弄清楚接收数据包的流程。原创 2022-09-15 14:05:10 · 2099 阅读 · 0 评论 -
Linux网卡丢包分类整理(1)——网卡篇
网卡丢包怎么办?或者再具体点,使用ifconfig查看网卡,发现有dropped统计时可以从哪些方面进行调查?Linux系统从网卡收到数据包到最终上层应用处理之间涉及到多个模块,包括物理硬件、驱动、缓存队列、内核、再到应用程序。其中任何一块出问题都有可能表现为网卡显示丢包。如上图,接收数据包会遵循硬件(device)->内核(kernel)->用户态应用(user)这一处理流程。原创 2022-09-10 09:00:24 · 2990 阅读 · 0 评论 -
H3C S6520 配置arp static
1. 背景介绍:cline: 9.168.1.40server:9.168.1.41拓扑结构:关键点就是让3口进来的client发往server的报文从5口发到IPS设备上,从server到client也是同样的流程,13口进来的发往client的报文从15口转出。2. 交换机关键配置: 进入系统视图: <H3C>system-view System View: return to User View with Ctrl+Z. 分别创建vlan-原创 2022-03-20 19:01:52 · 1684 阅读 · 0 评论 -
Hanic网卡安装步骤
使用 yum install kernel-devel 和 yum update kernel 更新内核。Download the package from support web of Netcope Technologies(www.netcope.com/support)Connect to the machine with FPGA-100G2 cardRun原创 2016-08-24 17:35:02 · 824 阅读 · 0 评论 -
Hanic网卡安装冲突---小记
在Centos 6.7系统上安装Hanic网卡,装驱动的时候总显示: file …… from install of …… conflicts with file from package …… 这种问题是因为Hanic要更改libpcap文件,但又与对应的libpcap-devel的版本冲突造成的。 废了好大劲也没有解决冲突问题,没办法,二选一,只原创 2017-03-07 14:32:30 · 749 阅读 · 0 评论 -
suricata 架构图------持续更新
suricata架构,红色文字为待分析部分原创 2017-01-31 19:16:34 · 7689 阅读 · 6 评论 -
pcap文件格式
工作原因需要对抓到的数据解析后在存成pcap格式的文件,这里对pcap文件格式做简单分析 一 基本格式: 文件头 数据包头 数据报数据包头数据报…… 二、文件头: pcap文件格式(转) 文件头结构体 sturct pcap_file_header { DWORD magic; DWORD vers原创 2017-01-31 19:03:30 · 738 阅读 · 0 评论 -
suricata for Hanic Improved documentation
增加了4个文件:runmod-hanic4.h,runmod-hanic4.c,source-hanic4.h,source-hanic4.c 1. source-hanic4.h,source-hanic4.c是根据 napatech网卡的source更改而来。重新实现了线程初始化函数(Hanic4StreamThreadInit)和从网卡获取数据包的函数(Hanic4StreamLoop)原创 2017-01-31 18:49:02 · 569 阅读 · 0 评论 -
Centos7安装netmap
因为工作需要,要在Centos上安装netmap,也许是自己太菜了,整了一天多才OK,现在把整个流程几下来,方便大家学习交流。1. 首先介绍一下我的环境: 我是在virtualbox上安装的Centos7, 内核版本为3.10.0-327.10.1.el7.x86_64 内核版本使用命令uname -r可以查看 其实原本的版本不是这个,由于查到的资料太杂乱了,期间用yum inst...原创 2016-03-25 14:12:54 · 9998 阅读 · 1 评论 -
Hanic quick send packets
sze2fastwrite is a testing tool which sends a large number of fake frames at once. In conjunction with the default 1024 bytes of frame length, it is truly able to transmit at 100Gbps using 2 DMA queues原创 2017-04-07 11:32:43 · 615 阅读 · 0 评论 -
curl命令小记
curl -x 192.168.33.15:8080 -H "cache_control:no-cache" http://120.132.42.189:8090/mp4/test.mp4 -o test.mp4 --progress代理设置 wget -e "http_proxy=porxyhost:port" www.baidu.com `curl -x proxyhost:port原创 2017-10-13 15:48:40 · 1395 阅读 · 0 评论 -
dns解析host和IP
dns.h#ifndef _DNS_H_#define _DNS_H_#define DBG_PRINT 0#define DNS_PORT 53#define MAX_DOMAIN 256#define DNS_TYPE_A 1 //ipv4#define DNS_TYPE_CNAME 5 //cname#define DNS_TYPE_...原创 2018-05-14 11:17:24 · 6152 阅读 · 1 评论 -
Dns执行流程和流量劫持
DNS的执行流程并不复杂,但对于接触网络的新手理解起来还是有一些难度,这里我们用一个故事来解释DNS的由来和作用。从前,有个村庄,名叫互联网村。村里有个超市,叫联通超市。村里人都到这个超市买东西。这个超市的全名叫做www.supermarket.com。地址就是112.123.1.16,读作112号路123楼1层16门。村里人都比较懒,买东西都是找一个叫王大拿的人代购。所以最初村民...原创 2018-08-16 17:11:26 · 2898 阅读 · 3 评论 -
Hanic网卡安装步骤及常用命令
● Hanic网卡安装使用 yum install kernel-devel 安装kernel-devel。在root用户下运行hanic4-100g2c-1.3.1.bin脚本: # bash hanic4-100g2c-1.3.1.bin关闭所有sze程序关闭tsuctl后台进程 # pkill tsuctl运行以下固件升级命令: # csboot -f 100 /usr/sha原创 2017-01-31 18:46:40 · 742 阅读 · 0 评论 -
linux下查询网卡类型和驱动信息
1、查网卡类型 ethtool -i 网卡名 如: ethtool -i enp0s3 结果如下: driver: e1000 version: 7.3.21-k8-NAPI firmware-version: bus-info: 0000:00:03.0 supports-statistics: yes原创 2016-12-01 16:43:00 · 21274 阅读 · 0 评论 -
libpcap详解
libpcap详解2010-12-01 22:07libpcap(Packet Capture Library),即数据包捕获函数库,是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可移植的框架。一、libpcap工作原理 libpcap主要由两部份组成:网络分接头(Network Tap)和转载 2016-04-20 11:17:37 · 2068 阅读 · 0 评论 -
Linux实现的IEEE 802.1Q VLAN
第一部分:VLAN的核心概念说起IEEE802.1q,都知道是VLAN,说起VLAN,基本上也没有盲区,网络基础。然而说到配置,基本所有人都能顺口溜一样说出Cisco或者H3C设备的配置命令,对于Linux的VLAN配置却存在大量的疑问。这些疑问之所以存在我觉得有两点原因:1.对VLAN的本质还是没有理解。不管你的Cisco/H3C命令敲得再熟练,如果看不懂Linux的vconfig,转载 2016-04-20 15:49:28 · 980 阅读 · 0 评论 -
hanic4 安装
使用bash hanic4-100g2-1.2.2.bin时提示dkms安装不成功,依赖于modulits。不用去管什么modulits了,直接用yum装dkms就行。DKMS package 在Extra Packages for Enterprise Linux (EPEL) 中,所以需要先安装这个 repository yum install epel-release原创 2016-05-17 18:18:38 · 704 阅读 · 0 评论 -
IOCTL函数用法
ioctl的实现 一、ioctl的简介:虽然在文件操作结构体"struct file_operations"中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数。如CD-ROM的驱动,想要一个弹出光驱的操作,这种操作并不是所有的字符设备都需要的,所以文件操作结构体也不会有对应的函数操作。 出于这样的原因,ioctl就有它的用处了————一些没办法归类的函数转载 2016-04-22 17:47:27 · 857 阅读 · 0 评论 -
Netmap分析(一)
工作原理Netmap是基于零拷贝思想的高速网络I/O架构,它能够在千兆或万兆网卡上达到网卡的线速收发包速率。并且能够有效地节省cpu等计算机资源。零拷贝(zero-copy)是指主机、路由器等设备与网卡交互时,CPU不需要将数据从和个内存区域拷贝到另一个内存区域。零拷贝通过减少数据拷贝或共享总线操作次数,消除通信数据的不必要的拷贝过程,能够有效地提高通信效率、节省存储空间和处理时间。因原创 2016-04-23 10:08:04 · 8850 阅读 · 0 评论 -
Netmap分析(二)
netmap_linux.c://初始化netmapstatic int linux_netmap_init(void){ int err; /* Errors have negative values on linux. *//* 申请netmap的各个内存池,包括netmap_if,netmap_ring,netmap_buf以及内存池的管理结构*/原创 2016-04-23 10:10:27 · 1841 阅读 · 0 评论 -
Netmap分析(三)
Netmap_linux.c两个重要的结构struct miscdevice netmap_cdevsw = { /* same name as FreeBSD */ MISC_DYNAMIC_MINOR, "netmap", &netmap_fops,};static struct file_operations netm原创 2016-04-23 10:37:36 · 1326 阅读 · 0 评论 -
Netmap分析(四)
netmap.cNIOCGINFO用于返回netmap的基本信息case NIOCGINFO: /* return capabilities etc */ if (nmr->nr_cmd == NETMAP_BDG_LIST) { error = netmap_bdg_ctl(nmr, NULL); break; } NMG_LOCK(); do {原创 2016-04-23 10:42:31 · 1445 阅读 · 0 评论 -
Netmap分析(五)
实际设置netmap配置的函数/* * possibly move the interface to netmap-mode. * If success it returns a pointer to netmap_if, otherwise NULL. * This must be called with NMG_LOCK held. * * The following na ca原创 2016-04-23 10:46:14 · 1449 阅读 · 0 评论 -
Netmap分析(六)
netmap.cNIOCTXSYNC和NIOCRXSYNC这两个使用相同的代码,同步ringcase NIOCTXSYNC: case NIOCRXSYNC: nifp = priv->np_nifp; if (nifp == NULL) { error = ENXIO; break; } mb(); /* make sure following rea原创 2016-04-23 10:48:19 · 1367 阅读 · 0 评论 -
关于Netmap打patch时报错的解决方法
我在之前的篇文章中提到过Natmap执行完./configure之后,执行make命令时会因为patch的问题导致不能生成驱动文件。这里写一下解决方法:在执行完make后如果不成功一般都会报如下错误:cp -Rp /root/rpmbuild/BUILD/kernel-3.10.0-229.el7/linux-3.10.0-229.el7.centos.x86_64/drivers/n原创 2016-04-23 15:46:53 · 4085 阅读 · 0 评论 -
Iprobe for Hanic Improved documentation
增加了4个文件:runmod-hanic4.h,runmod-hanic4.c,source-hanic4.h,source-hanic4.csource-hanic4.h,source-hanic4.c是根据 napatech网卡的source更改而来。重新实现了线程初始化函数(Hanic4StreamThreadInit)和从网卡获取数据包的函数(Hanic4StreamLoop)原创 2016-08-24 17:34:07 · 664 阅读 · 0 评论 -
Hanic网卡信息
[root@localhost ~]# csid -sBuilt at : 2016/05/17 18:28:14 创建日期Board : COMBO-100G2Subtype : VHT580S/N : 0036Speedgr. : 2Channels : 8/2 (RX/TX)Firmware : okSW : 0xa41c040原创 2016-08-24 17:30:56 · 1672 阅读 · 0 评论 -
TSO、UFO、GSO、LRO、GRO和RSS介绍(ethtool命令)
http://blog.chinaunix.net/uid-20639775-id-3529535.htmlethtool -k < 网络接口>,ethtool –show-offload < 网络接口>,或者可以看到很多网络接口的offload特性,例如:$ sudo ethtool -k eth0 Offload parameters for eth0: rx-checksumming: o转载 2016-09-05 17:36:12 · 10090 阅读 · 0 评论 -
tcpdump抓包并保存成cap文件
首选介绍一下tcpdump的常用参数tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ]tcpdump的选项介绍 -a转载 2016-09-07 15:48:10 · 22626 阅读 · 0 评论 -
curl命令使用
命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:# curl [option] [url]常见参数:-A/--user-agent 设置用户代理发送给服务器-b/--cookie原创 2016-10-28 16:11:49 · 2871 阅读 · 0 评论 -
IP头、TCP头、UDP头详解以及定义
一、MAC帧头定义/*数据帧定义,头14个字节,尾4个字节*/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6]; //目的mac地址 char m_cSrcMacAddress[6]; //源mac地址 short m_cType; //上一层协议类型,如0x0800代表上转载 2016-03-04 11:02:05 · 988 阅读 · 0 评论