当前位置: 首页 > article >正文

linux网络编程8

24.9.25学习目录

  • 一.原始套接字(续)
    • 1.sendto发送数据原始套接字
    • 1.ARP
  • 二.Web编程
    • 1.概述
    • 2.HTML

一.原始套接字(续)

混杂模式:
指一台机器的网卡能够接受所有经过它的数据包,不论其目的地址是否是它;
一般计算机工作在非混杂模式下,当要设置混杂模式是需要root权限;

//设置混杂模式
ifconfig eth0 -promisc

//取消混杂模式
ifconfig eth0 -promisc

1.sendto发送数据原始套接字

sendto(sock_raw_fd,msg,msg_len.0.(struct sockaddr*)&all.sizeof(sll));

sock_raw_fd:原始套接字的文件描述符;
msg:发送的消息(封装好的协议数据);
sll:本机网络接口,指发送的数据应该从本机的那个网卡出去,而不是以前的目的地址;

(1)本机网络接口

#include <netpacket/packet.h>
struct sockaddr_ll

在这里插入图片描述
只需要对sll_ifindex赋值,即可使用

(2)ioctl获取网络接口
获取过程图:
在这里插入图片描述

#include <sys/ioctl.h>
int ioctl(int fd,int request,void *);

request:设置为SIOCGIFINDEX表示为获取网络接口

1.ARP

其为地址解析协议,是TCP/IP协议族中的一个;
主要用于查询指定ip所对应的MAC;
当不知道目的的MAC时,请求方使用广播来发送请求,应答方使用单播回送数据;
为了提高发送效率,在计算中会有一个ARP缓存表,用于暂存ip所对应的MAC;

查看ARP:
在终端控制器中使用arp查看ARP缓存表

注意:
当两个主机进行通信时,会先查看arp表中是否有对方的mac地址,有则直接通信,没有这调用arp协议获取对方的mac地址;

(1)ARP协议格式
图中红框里左边为取值,右边为值的含义
在这里插入图片描述

二.Web编程

1.概述

(1)web前端开发技术
HTML:为超文本标记语言;
CSS:时一种定义样式结构,如字体、颜色、位置等;
XML:是用于传输数据,而非显示数据,是各种应用程序之间进行数据传输的最常用的工具;
Javaacript:是一种网络的脚本语言,常用于为网页添加各种各样的动态功能;
AJAX:创建交互式网页应用的网页开发技术;

(2)web服务器端开发技术
CGI:式web服务器运行时外部程序的规范,按CGI编写的程序可以扩展服务器功能;
ASP:可用来创建动态交互式网页并建立强大的web应用程序;
PHP:通用开源脚本语言;

(3)B/S对比C/S
在这里插入图片描述

2.HTML

HTML由各种各样的标签组成
如:

<html></html>

HTML文档相对于网页;
其是一种纯文本文件,扩展名为.html或.htm;
其最终的显示结果取决于Web浏览器的显示风格及其对标记的解释能力;

(1)元信息标签<meta>
提供有关页面的元信息,其没有结束标签;
<meta>标签位于文档的头部,不包含任何信息;
<meta>标签的属性定义了与文档相关联的名字/值对,且通过这种方式成对传递;

meta元素的属性:
第一行为必须的属性:在这里插入图片描述

<!-- 格式如下,即属性=值,中间不能有空格 -->
<meta name="name" content="W3school">

http://www.kler.cn/a/319726.html

相关文章:

  • 万字长文解读深度学习——生成对抗网络GAN
  • 第四十五章 Vue之Vuex模块化创建(module)
  • websocket初始化
  • Git在版本控制中的应用
  • 图论-代码随想录刷题记录[JAVA]
  • 开源项目推荐——OpenDroneMap无人机影像数据处理
  • 【JavaScript】算法之贪心算法(贪婪算法)
  • C++之文件操作
  • 考虑电网交互及禁止运行区的风电、光伏与火电互补调度运行(MATLAB-Yalmip-Cplex全代码)
  • uniapp webview清理缓存
  • 华为云徐峰:AI赋能应用现代化,加速软件生产力跃升
  • 聚合函数count 和 group by
  • 【linux】进度条
  • 常见服务端口号和中文大全
  • Linux:进程(四)
  • 前端三大框架对比与选择
  • JavaEE——多线程的状态及线程安全问题
  • 机器人/无人车 MPC业务架构
  • 快递物流单号识别API接口代码
  • 黑马智数Day5
  • 【设计模式-组合】
  • 【Git入门】使用 Git 进行项目管理:Word Count 程序开发与托管
  • Redis安全
  • Java语法-类和对象(上)
  • 《开题报告》基于SpringBoot的社区团购系统的设计与实现+学习文档+答辩讲解视频
  • 编译win2k3中tools目录下i386mk.inc文件的作用