Content Beyond Syllabus Network Lab
Content Beyond Syllabus Network Lab
#include<stdio.h>
#include<stdlib.h>
void main()
int graph[15][15],s[15],path[15],mark[15];
int n,src,i,j,u,pre[15];
int count=0;
void printpath(int,int,int[]);
clrscr();
scanf(” %d”,&n);
if(n<=0)
exit(1);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
scanf(“%d”,&graph[i][j]);
scanf(“%d”,&src);
for(j=1;j<=n;j++)
mark[j]=0;
path[j]=999;
pre[j]=0;
path[src]=0;
while(count<n)
u=minimum(path,mark,n);
s[++count]=u;
mark[u]=1;
for(i=1;i<=n;i++)
if(graph[u][i]>0)
if(mark[i]!=1)
{
if(path[i]>path[u]+graph[u][i])
path[i]=path[u]+graph[u][i];
pre[i]=u;
for(i=1;i<=n;i++)
printpath(src,i,pre);
if(path[i]!=999)
getch();
int mi=999;
int i,t;
for(i=1;i<=k;i++)
{
if(m[i]!=1)
if(mi>=a[i])
mi=a[i];
t=i;
return t;
if(i==x)
printf(“%d”,x);
else if(p[i]==0)
else
printpath(x,p[i],p);
}
}
#include<stdlib.h>
#include<string.h>
int main()
int i, n, ch;
char input[20];
FILE *in;
randomize();
while(1)
scanf(“%d”, &ch);
switch(ch)
case 1:
in = fopen(“data.txt”, “w”);
n = strlen(input);
fclose(in);
printf(“——->Data Sent\n”);
break;
getch();
Receiver.c
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
int i, n,;
char output[20];
FILE *out;
clrscr();
out=fopen(“data_parity.txt”, “r”);
n = strlen(output);
for(i=0; i<n; i++)
if(output[i]==’1’)
one++;
if(one%2==0)
printf(“Data Accepted\n”);
else
printf(“Data Rejected\n”);
for(i=0;i<n-1; i++)
printf(“%c”, output[i];
fclose(out);
getch();
Packet Sniffer
/* Packet Capture Program */
#include <stdio.h>
#include <ctype.h>
#include <sys/types.h>
#include <unistd.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <signal.h>
#define BUFFSIZE 2048
struct iphdr *ip;
struct tcphdr *tcp;
void help();
void data(char *data, int nbytes);
void flags();
static void get_intr(int sig);
void get_intr(int sig)
{
sleep(1);
printf("got interrupt signal- exiting...\n");
exit(0);
}
void data(char data, int nbytes) /* shows u the data */
{
char *ptr = &data[0];
int n = 0;
printf("data: %d\n",nbytes);
while(nbytes-- > 0) {
n++;
if((n%25)==0) printf("\n");
if(isgraph(*ptr++)) printf("%c",*ptr);
else printf(".");
}
}
void flags()
{
printf(" ");
if(tcp->syn == 1)
printf("syn=1 ");
if(tcp->ack == 1)
printf("ack=1 ");
if(tcp->rst == 1)
printf("rst=1 ");
if(tcp->fin == 1)
printf("fin=1 ");
if(tcp->urg == 1)
printf("urg=1 ");
if(tcp->psh == 1)
printf("psh=1 ");
printf("\n");
}
void help() {
puts("\n------\npsniff\n------\n");
puts("l0om - psniff is a smal tcp port(/protocol) sniffer.\n Example:");
puts("-h: prints out this help menue");
puts("-P: next argument is portnumber u want to sniff");
puts("-D: prints out all (ASCII)data from all packets");
puts("-F: shows the set flags");
puts("example: ./psniff -P 7 -D -F");
puts("sniffs packets for/from port 7. prints out all data and set flags");
puts(" u want to sniff 7 && 80? ");
puts("./psniff -P 7 -D -F &; ./psniff -P 80 -F -D &");
}
int main(int argc, char **argv)
{
int sockfd;
int i;
int port = 80; /* standard */
int r_flags, r_data;
size_t bytes;
char buffer[BUFFSIZE];
char *dats;
if( (getuid()|getgid()) != 0) {
printf("error: u must be root\n");
return -1;
}
r_flags=r_data=0;
sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_TCP);
if(sockfd < 0) {
fprintf(stderr, "error: cannot creat socket\n");
return -1;
}
if(argc == 1) {
printf("using standard settings...\n\n");
r_flags = 1;
}
for(i = 0; i < argc; i++) {
if(strncmp(argv[i], "-D", 2) == 0)
r_data = 1;
if(strncmp(argv[i], "-F", 2) == 0)
r_flags = 1;
if(strncmp(argv[i], "-P", 2) == 0)
port = atoi(argv[++i]);
if(strncmp(argv[i], "-h", 2) == 0) {
help();
exit(0);
}
}
if(signal(SIGINT, get_intr) == SIG_ERR)
printf("cannot install Interrupt catcher\n");
ip = (struct iphdr *)buffer;
tcp = (struct tcphdr *) (buffer + sizeof(struct iphdr));
dats = buffer+(sizeof(struct iphdr)+sizeof(struct tcphdr));
while( (bytes = read(sockfd, buffer, BUFFSIZE)) > 0) {
if(ntohs(tcp->dest) == port || ntohs(tcp->source) == port) {
printf("tcp: dport=%d, sport=%d, from=%s",ntohs(tcp-> dest),ntohs
(tcp-> source), inet_ntoa(ip->saddr));
if(r_flags)
flags();
else printf("\n");
if(r_data) {
printf("\n");
data(dats, bytes-(sizeof(struct iphdr)+ sizeof(struct tcphdr)));
printf("\n\n");
}
}
memset(buffer, '', BUFFSIZE);
}
return (0);
}
1.crc-citt
2.dsdv
Routing Protocol: It is used to recognise and start the best path for the data communication
Routed Protocol: It is used to transfer the data for the selected path
4.fifo
5.rsa
6.leaky bucket
RSA is short for Rivest-Shamir-Adleman algorithm. It is the most commonly used public key encryption
algorithm in use today.
RSA is a public key encryption algorithm. The RSA algorithms are based on the mathematical
part that it is easy to find and multiply large prime numbers together, but it is extremely difficult
to factor their product.
For authentication: One can encrypt the hash (MD4/SHA) of the data with a private key. This is
known as digital signature.
For Secrecy: Secrecy/confidentiality is achieved by encrypting the data with public key and
decrypting with private key.