Please I need help to pass the cource Write a simple program

-Please I need help to pass the cource:

Write a (simple) program c or c++ or java to simulate processing of a packet at a router interface with anACL

bound to that interface. Given an ACL (standard ) bound to a router interface, your

program should accept as input a packet with a source IP address, destination IP address, source, checkthe ACL permit and deny statements in sequence and determine if the packet gets discarded or forwarded.

------------------------------------------------------------------------------------------------------

In order to do this, your program should read two text files:

File no. 1 contains the ACL (for example):

access-list 1 deny 172.16.4.13 0.0.0.0

access-list 1 deny 172.16.5.0 0.0.0.255

access-list 1 permit 172.16.3.0 0.0.0.255

File no.2 contains a list of packets (just source and destination addresses)

172.16.4.13 172.16.3.2

172.16.5.2 172.16.3.4

etc.

Your output should be something like this:

172.16.4.13 172.16.3.2 denied

172.16.5.2 172.16.3.4 denied

etc. etc. permitted

--------------------------------------------------------------------

I try to write the program in c++ but it does not work correctly please help me:

#include <stdio.h>

#include<iostream>

#include<string.h>

int main(void)

{

unsigned int S1,S2,S3,S4,D1,D2,D3,D4,SIP1,SIP2,SIP3,SIP4,Smask1,Smask2,Smask3,Smask4;

char Interface[3],Listname[20],Commond[6];

FILE *fin=fopen(\"packets.txt\",\"r\");   

while(fscanf(fin,\"%u.%u.%u.%u %u.%u.%u.%u\ \", &S1, &S2, &S3, &S4, &D1, &D2, &D3, &D4)!=EOF)

{

FILE *fin1=fopen(\"acl.txt\",\"r\");

printf(\"\ \");

while(fscanf(fin1, \"%s %s %s %d.%d.%d.%d %d.%d.%d.%d %s\ \", Listname, Commond, &SIP1, &SIP2, &SIP3, &SIP4, &Smask1, &Smask2, &Smask3, &Smask4,Interface)!=EOF)

{

if(S1==SIP1 && S2==SIP2 && S3==SIP3 && S4==SIP4)

{

if(strcmp(Commond,\"deny\")==0)

std::cout<<S1<<\".\"<<S2<<\".\"<<S3<<\".\"<<S4<<\" \"<<D1<<\".\"<<D2<<\".\"<<D3<<\".\"<<D4<<\" denied\ \";

else

std::cout<<S1<<\".\"<<S2<<\".\"<<S3<<\".\"<<S4<<\" \"<<D1<<\".\"<<D2<<\".\"<<D3<<\".\"<<D4<<\" permitted\ \";

} } } return 0;}

packet file:

172.16.20.163 172.16.70.5

172.16.0.0 172.16.10.0

172.16.80.0 172.16.10.0

172.16.50.75 172.16.70.2

172.16.0.0 172.16.40.89

acl file:

Access-list1 deny 172.16.20.163 0.0.0.0 E0

Access-list1 permit 172.16.0.0 0.0.255.255 E0

Access-list2 deny 172.16.80.0 0.0.0.255 E1

Access-list2 permit 172.16.0.0 0.0.255.255 E1

Access-list3 deny 172.16.50.75 0.0.0.0 E0

Access-list3 deny 172.16.50.7 0.0.0.0 E0

Access-list3 permit 172.16.0.0 0.0.255.255 E0

Solution

#include <stdio.h>
#include<iostream>
#include<string.h>
int main(void)
{
unsigned int S1,S2,S3,S4,D1,D2,D3,D4,SIP1,SIP2,SIP3,SIP4,Smask1,Smask2,Smask3,Smask4;
char Interface[3],Listname[20],Commond[6];
FILE *fin=fopen(\"packets.txt\",\"r\");   
while(fscanf(fin,\"%u.%u.%u.%u %u.%u.%u.%u\ \", &S1, &S2, &S3, &S4, &D1, &D2, &D3, &D4)!=EOF)
{
FILE *fin1=fopen(\"acl.txt\",\"r\");
printf(\"\ \");
while(scanf(fin1, \"%s %s %s %d.%d.%d.%d %d.%d.%d.%d %s\ \", Listname, Commond, &SIP1, &SIP2, &SIP3, &SIP4, &Smask1, &Smask2, &Smask3, &Smask4,Interface)!=EOF)
{
if(S1==SIP1 && S2==SIP2 && S3==SIP3 && S4==SIP4)
{
if(strcmp(Commond,\"deny\")==0)
std::cout<<S1<<\".\"<<S2<<\".\"<<S3<<\".\"<<S4<<\" \"<<D1<<\".\"<<D2<<\".\"<<D3<<\".\"<<D4<<\" denied\ \";
else
std::cout<<S1<<\".\"<<S2<<\".\"<<S3<<\".\"<<S4<<\" \"<<D1<<\".\"<<D2<<\".\"<<D3<<\".\"<<D4<<\" permitted\ \";
}
}
}
return 0;
}

-Please I need help to pass the cource: Write a (simple) program c or c++ or java to simulate processing of a packet at a router interface with anACL bound to t
-Please I need help to pass the cource: Write a (simple) program c or c++ or java to simulate processing of a packet at a router interface with anACL bound to t
-Please I need help to pass the cource: Write a (simple) program c or c++ or java to simulate processing of a packet at a router interface with anACL bound to t

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site