winpcap编程实现自动过滤FTP用户名及密码

Wireshark提供了许多Filter Expression,我们可以很轻松的过滤出FTP的用户名和密码。请看下图


Filter Expression为ftp.request.command=="USER" or ftp.request.command=="PASS"。具体为什么查找FTP连接的建立过程,而且点击Expression之后可以看到wireshark封装了许多过滤规则。Wireshark是基于winpcap的,但是自己编写winpcap程序的时候就没有这么多封装好的过滤规则了。

下面的代码是我尝试着写的可以过滤出USER和PASS的C语言代码,为什么我的程序总感觉很粗糙哭

#include <stdio.h>
#include <stdlib.h>
#define HAVE_REMOTE
#include "pcap.h"
#include <ws2tcpip.h>
#define LINE_LEN 16
/* 4字节的IP地址 */
typedef struct ip_address{
    u_char byte1;
    u_char byte2;
    u_char byte3;
    u_char byte4;
}ip_address;

/* IPv4 首部 ,20字节*/
typedef struct ip_header{
    u_char  ver_ihl;        // 版本 (4 bits) + 首部长度 (4 bits)
    u_char  tos;            // 服务类型(Type of service)
    u_short tlen;           // 总长(Total length)
    u_short identification; // 标识(Identification)
    u_short flags_fo;       // 标志位(Flags) (3 bits) + 段偏移量(Fragment offset) (13 bits)
    u_char  ttl;            // 存活时间(Time to live)
    u_char  proto;          // 协议(Protocol)
    u_short crc;            // 首部校验和(Header checksum)
    ip_addre
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值