linux下抓包

Capture数据包-分析(详细解析) DCN信息安全管理与评估大赛高职组第二阶段 阅读详情

首先用ifconfig去查询本机的网卡,然后在主函数中修改
在这里插入图片描述这里的enp9s0就是我们需要的

/* capture_packet.c - 截获所有以太网帧数据并进行具体分析 */

/* 常用函数的头文件   */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>  
#include <strings.h>
#include <unistd.h>  
#include <signal.h>

/* 与网络相关的头文件 */
#include <netinet/ip_icmp.h> 
#include <net/if_arp.h>
#include <sys/socket.h>  
#include <netinet/in.h>  
#include <arpa/inet.h>   
#include <netinet/ip.h>  
#include <netdb.h>  
#include <netinet/tcp.h>  
#include <netinet/udp.h> 
#include <signal.h>  
#include <net/if.h>  
#include <sys/ioctl.h>  
#include <sys/stat.h>  
#include <fcntl.h>  
#include <linux/if_ether.h> 
#include <net/ethernet.h>
#include <linux/igmp.h>
#include <netinet/tcp.h>
/* 全局变量结构的结构体原型 - 包含要记录的任何全局信息 */
struct global_info {
	unsigned int bytes;		/* 网卡接收的总字节数     */
	unsigned int packet_num;        /* 网卡接受的帧的总数量,帧其实就是分片   */
	
	unsigned int packet_arp;        /* 接收到的arp包的数量    */
	
	
	int print_flag_frame;		/* 是否打印帧头信息标志, 1表示打印, 0表示不打印 flag是国旗标志的意思,frame是框架结构画面的意思 */
	int print_flag_arp;		/* 是否打印arp头信息标志  */
	
};


/* 定义一个全局变量,用于存储全局信息 */
struct global_info global;

struct ip_pair {
	unsigned int source_ip;//源ip地址
	unsigned int dest_ip;//目的ip地址
	unsigned int count;//?我不知道
};

/* 定义一个用于存储ip对的结构体数组 这个数组应该是用来存储抓到的ip包的地址*/
struct ip_pair ip_pair[10000];

/* 一个用于初始化全局信息的函数 */
void init_global( struct global_info  * var );//这里定义了一个无类型的初始化函数,利用了global_info结构体来定义了一个名为var的指针

/* 一个用于打印全局信息的函数   */
void print_global( struct global_info var );//这里和上面又不一样,它是定义了一个global_info结构体的实例

/* 打印一个错误,并退出 		*/
void error_and_exit( char * msg, int exit_code );//char * msg这里是定义了一个字符类型的指针msg

/* 设置网卡成混杂模式	        */
int set_card_promisc( char * interface_name, int sock );//同样的道理,这里是定义了一个字符类型的指针interface_name

/* 把mac地址转换一个字符串      */
void mac_to_str( char * buf, char * mac_buf );

/* 用于打印帮助信息 		*/
void help( void );

/* 截获网卡帧数据,并进行数据分用*/
void do_frame( int sockfd );  //这里的sockfd应该用到了socket函数





/* 初始化一个全局结构体 	 它就是将所有的数据全都归零,这样在输出的时候就可以在此基础上进行增加     */
void init_global( struct global_info  * var )
{
	var->bytes = 0;
	var->packet_num = 0;
	
	var->packet_arp = 0;
	
	
	var->print_flag_frame = 0;
	var->print_flag_arp = 0;
	
}

/* 一个用于打印全局信息的函数  */
void print_global( struct global_info var )
{
	printf("\n\n********** 全局信息 *****************\n\n");
	printf("总共接收字节数: %d kbytes.\n", var.bytes / 1024 );
	printf("总共接受包数量: %d\n\n", var.packet_num );
	
	if( var.packet_arp ) printf("接收 arp 包数量: %d\n", var.packet_arp );//var是一个全局信息那个结构体类型的实例,这里的定义不太好,很容易和上面的初始化函数中的var弄混
	
	
	printf("\n");
}

/* 用于处理当下按ctrl-c时的处理函数 */
void sig_int( int sig )//sig是签名的意思
{
	print_global( global );
	
	int i;
	
	/*
	for( i=0; i<global.packet_ip; i++ ){
		printf("%15s ==>> ", inet_ntoa( *(struct in_addr *)( &ip_pair[i].source_ip ) ) );
		printf("%15s \n", inet_ntoa( *(struct in_addr *)( &ip_pair[i].dest_ip ) ));
	}
	*/

	exit( 0 );
}

/* 打印错误信息,并退出            */
void error_and_exit( char * msg, int exit_code )  
{  
	herror( msg );//报错函数  
	exit( exit_code ); //该函数类似于exit(1),在终止的时候返回exit_code 
}  

/* 设置网卡模式成混杂模式,这样的话可以截获以太网帧数据 */
int set_card_promisc( char * interface_name, int sock )  //promisc的意思就是混杂
{  
	/* 用于套接口ioctl的接口请求结构体 	*/
	struct ifreq ifr; //ifreq为linux中的一个结构体,用来输出接口的信息
                
	/* 复制网卡名称进入请求结构体的名称元素 */
	strncpy(ifr.ifr_name, interface_name ,strlen( interface_name )+1);  //strncpy是c语言的库函数之一,来自于c语言的标准库string.h,表示将interface_name中前strlen( interface_name )+1个字节复制到ifr.ifr_name这个数组中,并返回ifr.ifr_name。strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。正因为如此,在计算网卡名称时是漏掉了一个字符的,所以要+1

	
 
 
/*
struct ifreq {
#define IFHWADDRLEN	6
	union
	{
		char	ifrn_name[IFNAMSIZ];		//if name, e.g. "en0" 
	} ifr_ifrn;
	
	union {
		struct	sockaddr ifru_addr;
		struct	sockaddr ifru_dstaddr;
		struct	sockaddr ifru_broadaddr;
		struct	sockaddr ifru_netmask;
		struct  sockaddr ifru_hwaddr;
		short	ifru_flags;
		int	ifru_ivalue;
		int	ifru_mtu;
		struct  ifmap ifru_map;
		char	ifru_slave[IFNAMSIZ];	//Just fits the size 
		char	ifru_newname[IFNAMSIZ];
		void __user *	ifru_data;
		struct	if_settings ifru_settings;
	} ifr_ifru;
};
*/

	/* 设置网卡模式标志为混杂模式	   通过分析ifreq的结构体我们可以知道,其中有着ifr_flags这个属性,可设为混杂模式,意为接受所有的数据包,即使该数据包不是发送给本机的也能接收    */
    	ifr.ifr_flags |= IFF_PROMISC;  		            

	/* 通过ioctl把参数传递给网卡	     */  
	if(ioctl(sock, SIOCSIFFLAGS, &ifr) == -1 )  	      
   	    error_and_exit("ioctl", 3);  
}  //SIOCSIFFLAGS:用ifr_flags成员设置接口标志。对于ioctl这个函数而言,返回0就是成功,返回-1就是失败,本来我以为这个函数在这里应该就是设置接口标志的,现在看来它在这起的是传参的作用,对就是通过传参来实现混杂模式

/* 把mac地址转换成字符串 */
void mac_to_str( char * buf, char * mac_buf )
{
	sprintf( mac_buf, "%02x:%02x:%02x:%02x:%02x:%02x",(unsigned char) *buf, (unsigned char)(*(buf+1)), //C 库函数 int sprintf(char *str, const char *format, ...) 发送格式化输出到 str 所指向的字符串。这里也就是将转化后的字符放到mac_buf这个数组中
//X 表示以十六进制形式输出
//02 表示不足两位,前面补0输出;出过两位,不影响

					(unsigned char)(*(buf+2)), (unsigned char)(*(buf+3)),
					(unsigned char)(*(buf+4)), (unsigned char)(*(buf+5)));
	mac_buf[17] = 0;
}

void help( void )
{
	printf("Usage: capture [-h] [协议名称 ...].\n");
	printf("默认情况: 打印所有包信息.\n");
}



/*
ARP数据包共有42个字节,其中包括14个字节的以太网首部
其中包括六个字节的以太网目的地址和以太网源地址,还有两个字节的帧类型,注意0x0806是ARP帧的类型值

接下来是28个字节的ARP请求包/应答包

硬件类型              2                       0x1             以太网类型值
上层协议类型       2                       0x0800          上层协议为IP协议
MAC地址长度      1                       0x6             以太网MAC地址长度为 6
IP地址长度          1                       0x4             IP地址长度为 4
操作码                 2                                        0x1表示ARP请求包,0x2表示应答包
发送方MAC          6        
发送方IP              4        
接收方MAC          6        
接收方IP              4        
填充数据              18                            因为物理帧最小长度为64字节,前面的42字节再加上4个CRC校验字节,还差18个字节




*/
void print_arp( struct arphdr * parp )
{

//1
	
	char * addr = (char*)(parp + 1);
	char buf[18];
	mac_to_str( addr, buf ); 
	printf("发送端以太网地址: %s\n", buf );
	printf("发送端IP地址:     %s\n", inet_ntoa( *(struct in_addr *)(addr+6) ));
	mac_to_str( addr+10, buf );
	printf("目的以太网地址: %s\n", buf );
	printf("目的IP地址:     %s\n", inet_ntoa( *(struct in_addr *)(addr+16) ));
}//我有点懂了,用于存储发送方的地址信息 struct sockaddr_in addr;也就是说源MAC,源IP或者目的MAC,目的IP都被保存在了这个结构体中,不过他们占的比特位数还是不变的,MAC占六位,IP占4位
void do_arp( char * data )
{
	global.packet_arp ++;//每执行一次这个函数,所抓到arp包的数量就加1

	struct arphdr * parp;
	parp = ( struct arphdr * ) data;
	
	if( global.print_flag_arp ) {
		printf("============= arp 头信息 ==============\n");
		print_arp( parp );
	}
}


/* 打印以太网帧的包头信息 */
void print_frame( struct ether_header * peth )
{
	/* 定义一个数组,用于存储把mac地址转换成字符串后的字符串 */
	char buf[ 18 ];

	printf("\n==================================   第 %d 个包  =======================================\n\n", global.packet_num );
	printf("==== 以太网帧信息 =====\n");
	char * shost = peth->ether_shost;
	mac_to_str( shost, buf );		
	printf("源以太网地址:  %s\n", buf );
	
	char * dhost = peth->ether_dhost;
	mac_to_str( dhost, buf );
	printf("目的以太网地址:%s\n", buf );
}

/* 用于从网卡接受一帧数据,同时根据以太网协议字段传递数据给相应的上层协议处理 */
void do_frame( int sock )
{
	/* 定义了一个有两千个比特的数组用于存储一帧数据         */
	char frame_buf[ 2000 ];
	
	/* 清空帧数据缓冲区	    */
	bzero( frame_buf, sizeof(frame_buf) );

	int len = sizeof( frame_buf );
	
	/* 用于存储接受字节数       */
	int recv_num;

	/* 用于存储发送方的地址信息 */
	struct sockaddr_in addr;

	/* 从网卡接收一帧数据       */
        recv_num = recvfrom( sock, (char *)frame_buf, sizeof( frame_buf ), 0, ( struct sockaddr * )&addr, &len );  

	/* 所接收的包的总数自加1    */
	global.packet_num ++;

	/* 从网卡接收的字节总数     */
	global.bytes += recv_num;

	/* 打印接收的包是第几个包   */
	//printf("此帧数据长度: %d\n", recv_num );
	
	/* 定义一个用于指向以太网帧的指针 (这里我们只考虑最常见的以太网帧的情况) */
	struct ether_header * peth; 

	/* 让以太网头指针指向从网卡接受到的帧的数据的开头 */
        peth = (struct ether_header *)frame_buf; 

	/* 传递以太网帧首地址给打印以太网帧信息的打印函数 */
	if( global.print_flag_frame )
		print_frame( peth );

	/* 定义一个数据指针,用于指向以太网帧的数据部分    */
	char * pdata;

	/* 让 pdata 指向以太网帧的数据部分                */
	pdata = frame_buf + sizeof( struct ether_header );

	/* 根据以太网帧的协议字段进行数据分用 - 也就是进行数据拆封,根据协议字段调用相应层的处理函数 */
        switch( ntohs( peth->ether_type ) ){
     		
		case ETHERTYPE_ARP:
			do_arp( pdata );
			break;
		
		default:
			printf("Unkonw ethernet type  %d %x.\n", ntohs(peth->ether_type), ntohs(peth->ether_type) );
			break;
       }
}


/* 主函数, 处理命令行输入, 设置好全局变量, 并调用接受和处理帧的函数 */

int main( int argc, char ** argv )  
{  
	printf("1");
	/* 用于存储套接口文件描述符 */
	int sockfd;

	/* 初始化全局变量 	  */
	init_global( &global );
	printf("0");
	if( argc == 1 ) {       		/* 表示打印所有包头信息 */
		global.print_flag_frame = 1;
		global.print_flag_arp = 1;
		
	} 
	printf("2");
	/* 通过协议族AF_PACKET类信SOCK_RAW, 类型SOCK_RAW创建一个用于可以接受网卡帧数据的套接口,同时返回套就口文件描述符 */
	if( (sockfd = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)) ) == -1 ) 
	        error_and_exit( "socket", 1 );  /* 如果发生错误,返回错误值, 并退出 */

	
	/* 设定网卡eth0成混杂模式 */
	set_card_promisc( "enp9s0", sockfd ); 

	/* 设定信号处理函数, 下面是设置当我们按下ctrl-c时所调用的处理函数 */	
	signal( SIGINT, sig_int );

	/* 无限循环接收以太网卡数据帧, 并进行数据分用,直到你按下ctrl-c */
	while( 1 ){
		do_frame( sockfd );
	}  

	return 0;
}
【问题解决】如何在Linux下抓包并查看 tcp客户端和服务端连接的抓包过程,以及如何打开telnet客户端 阅读详情

相关推荐

江西省省赛中职网络安全-流量分析

2021年职业院校技能大赛“网络安全”项目 江西省比赛任务书 一、竞赛时间 总计:420分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A模块 A-1 登录安全加固 180分钟 200分 A-2 Web安全加固(Web) A-3 流量完整性保护与事件监控(Web,Log) A-4 防火墙策略 A-5 Windows操作系统安全配置 A-6 Linux操作系统安全配置 B模块 B-1 系统漏洞利用与提权 400分 B-2 Linux操作系统渗透测试 B-3 应用服务漏洞扫描与利用 B-4 S

weixin_48800344的博客 4605

探索CapturePacket:网络数据包捕获与分析的强大工具

探索CapturePacket:网络数据包捕获与分析的强大工具 CapturePacketCapture http/https packets for Android. Android端网络抓包工具。项目地址:https://gitcode.com/gh_mirrors/ca/CapturePacket 项目简介 是一个开源的网络数据包捕捉和分析工具,由开发者黄立强创建并维护。它采用Pytho...

gitblog_00047的博客 612

linux如何抓包

在Linux中抓包可以使用tcpdump或Wireshark,具体选择取决于你的需求和使用习惯。tcpdump更适合命令行操作,而Wireshark提供了更友好的图形界面和强大的分析功能。如果你有其他问题或需要进一步的帮助,请随时问我!

前端-尔嵘 621

Wireshark的抓包和分析,看这篇就够了!

Wireshark的抓包与分析WireShark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在网络封包和流量分析领域有着十分强大功能的工具,深受各类和网络分析师的喜爱。我们首先来介绍一下Wireshark这款软件。首先我们先认识一下这个软件的主界面是长这样的在这个界面中为Wireshark的主界面。

xnxqwzy的博客 5229

阿里天池新闻推荐实战:多路召回策略解析与优化

本文深入解析阿里天池新闻推荐项目中的多路召回策略,包括ItemCF、UserCF、YouTubeDNN等五种召回模型的协同应用与优化技巧。通过实战案例展示如何提升推荐系统效果,特别针对冷启动问题提出创新解决方案,帮助开发者构建高效的新闻推荐系统。

weixin_26918763的博客 416

Halcon实战:5分钟搞定自定义直线卡尺工具(附完整代码下载)

本文详细介绍了如何使用Halcon快速开发自定义直线卡尺工具,通过交互式ROI绘制、边缘检测和直线拟合三个核心函数,实现高效工业视觉检测。文章包含完整代码下载,帮助开发者在5分钟内掌握这一实用工具的开发技巧,提升直线检测的精度和效率。

perl8的博客 252

TCP Protocol Packet Capture

当这时收到三次冗余ACK时,启用快重传,并且在该点门限值为当下拥塞窗口值的1/2(同时也是在拥塞避免阶段),而唯一调整的是:新的拥塞窗口大小=当下门限值+3,即cwnd'=ssthresh+3。是为了在建立连接的过程中,告诉客户端和服务端自己和对方的发送数据能力以及接收数据能力,有来有回,再连不难。其序号大于下一个所期望的、按序的报文段,它检测到了数据流中的一个间隔,这就是说有。(慢开始阶段有个不变的初始门限值,然后在拥塞避免阶段增大为当下的cwnd/2),,只要收到对方的零窗口通知,就启动该持续计时器。

Yujiangz的博客 1003

YOLO26 改进 | (教师:YOLOv8L,学生:YOLO26) | 知识蒸馏 (Knowledge Distillation)

本文介绍了基于YOLO26框架的知识蒸馏实战方法,通过教师模型指导学生模型训练,在不增加推理成本的情况下提升模型精度。文章详细阐述了基于响应的知识蒸馏实现方案,通过最小化教师与学生模型预测Logits间的KL散度实现知识迁移。核心实现包括:1) 创建DistillationModel包装器类,同时运行师生模型;2) 自定义DistillationLoss,在原检测损失基础上增加KL散度损失。该方法适用于希望保持YOLO26轻量级特性同时获得接近大模型精度的场景,文中提供了完整的代码实现方案。

weixin_51988935的博客 510

linux 抓包_Linux抓包

tcpdump这个命令是用来抓包的,默认情况下这个命令是没有的,需要安装一下:yum install -y tcpdump 使用这个命令的时候最好是加上你网卡的名称,不然可能使用不了:在命令的选选项中,加上-nn选项是表示显示IP地址和端口号,如果不加则会显示主机名和进程名,第一列显示的是当前时间,后面会有两个IP地址,第一个IP地址是源IP第二个则是目标IP,IP地址后面跟的是数据包...

weixin_39633102的博客 1万+

PCL 平面点云的凹多边形边界提取【2025最新版】

平面点云的凹多边形边界提取及边界轮廓线绘制。博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 7185

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

全网详细解决:无法将 “xxx” 项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

念兮为美 5万+

Linux 抓包命令详解

掌握Linux抓包命令对于网络管理员和开发者来说是一项重要的技能。通过本文的介绍,你应该能够使用tcpdump和Wireshark来捕获和分析网络数据包。记得在实际使用中根据需要选择合适的工具和选项。

广阔天地,大有作为 6311

(BS ISO 11898-1:2015)CAN_FD 总线协议详解1- 基本概念描述

本文对can总线协议做了详细的讲解,can协议里面的每一个知识点都做了详细且举一反三的论述,读了本文可以不用读can协议了。

zhangziranzm的博客 2315

linux日志抓包,linux如何抓包

linux如何抓包====================================================================from:linux下抓包命令--tcpdump的使用来源:不详 (2006-07-14 11:09:04)例:tcpdump host 172.16.29.40 and port 4600 -X -s 500tcpdump采用命令行方式,它的命...

weixin_42190623的博客 1376

Spring AI Alibaba 1.x 源码分析-架构设计

本文通过分析Spring AI Alibaba 框架的源码,分析出其原理和架构设计,无论是用于项目开发、技术评估还是团队培训都具有重要价值。

program哲学 490

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

linux 抓包教程

linux抓捕网络包 jacky. 1650727278@@q.com tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是centos 7。 tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数: tcpdump [-i 网卡] -nnAX ‘表达式’ 各参数说明...

唐顺才的博客 4124

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux网络抓包工具tcpdump是如何实现抓包的,在哪个位置抓包的?

随着G行架构从集中式体系向分布式式体系转型,行内系统服务快速增多,不同的服务短期内需要在集中式体系、分布式体系之间互相调用,调用链复杂,网络通讯相关问题时有发生。系统管理员在排查网络问题时就用到一款网络抓包工具tcpdump,该工具可以将网络中传送的数据包完全截获下来进行分析,能有效的排查复杂环境的网络问题。本文将从原理的角度分析tcpdump在Linux系统的实现。 主要是希望能够分析实现原理,以协助判断tcpdump抓的是网卡的包,还是经过内核处理后的包?对于分析服务器处理网络包过程有很大帮助。

李姓门徒 4371

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux 网卡流量抓包,linux-网络抓包

内容linux下网络抓包是常见网络分析操作,使用tcpdump1.抓包后拆包 自动压缩抓包命令:ucp登录以下服务器 切换目录到/data/ucp/rubbish/ 创建目录mkdir 20200408执行命令 窗口不要关闭,会显示抓包的数量一直增加软件园tcpdump -i any -C 50 -W 1000 -w bicc4.pcap -vtcpdump -i any -C 50 -W...

weixin_29189987的博客 847

linux 抓包

在Linux平台下抓包可以使用tcpdump、tshark、ngrep等工具。

zengliguang的专栏 1871

linux下怎么网络抓包

Linux下面如何用tcpdump抓包 很多时候我们的系统部署在Linux系统上面,在一些情况下定位问题就需要查看各个系统之间发送数据报文是否正常,下面我就简单讲解一下如何使用tcpdump抓包 tcpdump是Linux下面的一个开源的抓包工具,和Windows下面的wireshark抓包工具一样, 支持抓取指定网口、指定目的地址、指定源地址、指定端口、指定协议的数据。 1、安装tcpdu...

syy_666的博客 5231

linux下c语言抓包,C语言实现抓包工具

本文使用libpcap库在linux下面开发自定义抓包工具,同学们也可以在win下编写同样的代码。抓包的目的:1、分析协议2、伪造数据包3、获取重要信息,例如用户名和密码4、做某些攻击使用抓包的工具(1)Wireshark 可视化的工具(2)Tcpdump是命令行的工具。(3)自定义抓包工具原因1: 只抓取感兴趣的部分,去掉无关紧要的东西,为其他目的服务。原因2:如果有别的目的,例如偷偷安装在别的...

weixin_35318150的博客 2208

linux 抓包的方法,Linux抓包命令tcpdump以及常见抓包使用方法

原标题:Linux抓包命令tcpdump以及常见抓包使用方法系统运行过程中,难免发现服务器一些流量异常或访问异常,我们可以采用tcpdump命令进行抓包。下边简单介绍下该命令使用办法。 1,安装tcpdump一些系统默认没有安装,我们需要yum安装下这个命令:yum install tcpdump -y2,tcpdump使用。一些使用我们可以tcpdump –help看下帮助,比如:[root@M...

weixin_34443842的博客 1218

Linux怎么抓包时间,linux下利用tcpdump实现24小时自动抓包

tcpdump能帮助我们捕捉并保存网络包,保存下来的网络包可用于分析网络负载情况,包可通过tcpdump命令解析,也可以保存成后缀为pcap的文件,使用wireshark等软件进行查看,下面我们就来看一个tcpdump实现24小时自动抓包实现例子.安装tcpdump,代码如下:# yum install tcpdump脚本里有注释#diy的,表示下一行需自定义修改,脚本都放在home目录下,cro...

weixin_36054213的博客 1835

linux抓包经历

快速抓包分析:推荐使用方法一(tcpdump),直接捕获流量并分析目标IP/端口。实时连接监控:使用方法二(netstatss)在容器内查看实时连接。长期监控:使用方法三(iptables)记录所有出站请求。

lonelyhiker 1089

linux 抓包工具_路由抓包的种种方式

前言:路由器在内网的重要性就不多说了,当我们拿到核心路由器,不会用的它仅仅是一台路由器,会用的或许已经完成了整套渗透的一大半。本篇文章讲的是路由抓包,这里让我们列举下路由抓包能干什么。1.抓取明文密码2.抓取管理员的行为特征,喜欢上什么网站3.知道服务器装了哪些服务和杀软如今市面上的路由器以命令来分可以分为三种类别:1.Cisco系列(Cisco,华为,锐捷)2.Linux命令系列3.其...

weixin_39716800的博客 850
上一篇: AndroidStudio导入ADT+eclipse项目教程详细
下一篇: qt5实现抓包界面化
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值