This C program generates UDP Header with following assumptions:
1. Sample data in input.txt file: ABC
2. Source Port=1100, Destination Port=1101
3. Total length=50
4. You may use your logic for Checksum calculation.
#include <stdio.h>
void main()
{
FILE *fp1, *fp2, *fopen();
int src_port=1100, dest_port=1101, total_len=50,checksum=0;
char c;
fp1 = fopen( "input.txt", "r" ); /* open for reading */
fp2 = fopen( "UDPHeader.txt", "w" ) ; /* open for writing */
if ( fp1 == NULL ) /* check file exist/not */
{
printf("Cannot open input.txt for reading." );
exit(1); /* Exit program */
}
else if ( fp2 == NULL )
{
printf("Cannot open UDPHeader.txt for writing.");
exit(1); /* Exit program */
}
else
{
c = getc(fp1) ;
while ( c != EOF)
{
checksum = checksum + c;
c = getc( fp1 ) ;
}
fprintf(fp2,"%d,%d,%d,",src_port,dest_port,total_len);
fprintf(fp2,"%d",checksum);
printf("UDP Header created successfully in UDPHeader.txt file.");
fclose(fp1); /*close files */
fclose(fp2);
}
}
Output of the program
UDP Header created successfully in UDPHeader.txt file.
Data after program execution in UDPHeader.txt file:
1100,1101,50,198
1. Sample data in input.txt file: ABC
2. Source Port=1100, Destination Port=1101
3. Total length=50
4. You may use your logic for Checksum calculation.
#include <stdio.h>
void main()
{
FILE *fp1, *fp2, *fopen();
int src_port=1100, dest_port=1101, total_len=50,checksum=0;
char c;
fp1 = fopen( "input.txt", "r" ); /* open for reading */
fp2 = fopen( "UDPHeader.txt", "w" ) ; /* open for writing */
if ( fp1 == NULL ) /* check file exist/not */
{
printf("Cannot open input.txt for reading." );
exit(1); /* Exit program */
}
else if ( fp2 == NULL )
{
printf("Cannot open UDPHeader.txt for writing.");
exit(1); /* Exit program */
}
else
{
c = getc(fp1) ;
while ( c != EOF)
{
checksum = checksum + c;
c = getc( fp1 ) ;
}
fprintf(fp2,"%d,%d,%d,",src_port,dest_port,total_len);
fprintf(fp2,"%d",checksum);
printf("UDP Header created successfully in UDPHeader.txt file.");
fclose(fp1); /*close files */
fclose(fp2);
}
}
Output of the program
UDP Header created successfully in UDPHeader.txt file.
Data after program execution in UDPHeader.txt file:
1100,1101,50,198
* * * * *
No comments:
Post a Comment