利用socket中的sock_stream套接字实现一个TCP公开扫描程序

本文介绍了如何使用socket的sock_stream套接字创建一个TCP公开扫描程序。用户可设定扫描目标地址及端口范围,程序输出显示开启的端口。实验在Red Hat 9环境下进行,通过与'netstat -lnt'命令的对比验证了程序的正确性,成功扫描出9个开放端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验要求

利用socket中的sock_stream套接字实现一个TCP公开扫描程序,要求:
输入:
用户通过程序可以设定扫描的目的地址;
用户可以设定扫描端口的范围;
输出:显示被扫描目标开启了那些端口;
程序的验证: 在shell下输入命令“netstat -lnt”,对比自己程序的输出结果

实验环境

Red hat 9

代码
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netdb.h>

void print_usage(char* str) 
{
   
	printf("the command %s usage is:\n",str);
	printf("%s Ip_Address [port] \n");
}
int scanport(int sockfd, struct sockaddr_in scanip, int port, char** arg)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值