linux訪問url
Linux系統中,如果需要禁止特定ip地址訪問來保證系統的安全,只需通過操作iptalbes來實現,下面就給紹下Linux如何禁止某個ip地址訪問。
一、概述
這兩個文件是tcpd伺服器的配置文件,tcpd伺服器可以控制外部IP對本機服務的訪問。這兩個配置文件的格式如下:
#服務進程名:主機列表:當規則匹配時可選的命令操作
server_name:hosts-list[:command]
/etc/hosts.allow控制可以訪問本機的IP地址,/etc/hosts.deny控制禁止訪問本機的IP。如果兩個文件的配置有沖突,以/etc/hosts.deny為准。
/etc/hosts.allow和/etc/hosts.deny兩個文件是控制遠程訪問設置的,可以允許或者拒絕某個ip或者ip段的客戶訪問linux的某項服務。
比如SSH服務,通常只對管理員開放,那就可以禁用不必要的IP,而只開放管理員可能使用到的IP段。
二、配置
1、修改/etc/hosts.allow文件
#
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the 『/usr/sbin/tcpd』 server.
#
sshd:210.13.218.*:allow
sshd:222.77.15.*:allow
all:218.24.129.110 #表示接受110這個ip的所有請求!
in.telnetd:140.116.44.0/255.255.255.0
in.telnetd:140.116.79.0/255.255.255.0
in.telnetd:140.116.141.99
in.telnetd:LOCAL
smbd:192.168.0.0/255.255.255.0 #允許192.168.0.網段的IP訪問smbd服務
#sendmail:192.168.1.0/255.255.255.0
#pop3d:192.168.1.0/255.255.255.0
#swat:192.168.1.0/255.255.255.0
pptpd:all EXCEPT 192.168.0.0/255.255.255.0
httpd:all
vsftpd:all
以上寫法表示允許210和222兩個ip段連接sshd服務(這必然需要hosts.deny這個文件配合使用),當然:allow完全可以省略的。
ALL要害字匹配所有情況,EXCEPT匹配除了某些項之外的情況,PARANOID匹配你想控制的IP地址和它的域名不匹配時(域名偽裝)的情況。
2、修改/etc/hosts.deny文件
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the 『/usr/sbin/tcpd』 server.
#
# The portmap line is rendant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
sshd:all:deny
in.telnet:ALL
ALL:ALL EXCEPT 192.168.0.1/255.255.255.0,192.168.1.21,
202.10.5.0/255.255.255.0
注意看:sshd:all:deny表示拒絕了所有sshd遠程連接。:deny可以省略。
3、啟動服務。
注意修改完後:
#service xinetd restart
才能讓剛才的更改生效。
B. linux 以URL訪問TCP
不需要設定路徑,Linux socket編程中通過調用網路信息函數查詢URL中域名對應的IP地址,這個函數是gethostbyname,它通過查詢/etc/hosts文件或者DNS服務來確定域名對應的IP地址,不過它並不是返回一個IP地址,而是返回一個hostent結構,這個結構在connect調用中會用到。URL的參數部分則是在HTTP請求的請求頭也就是「HTTP請求首部」中給予,所以Linux socket編程中對於URL考慮好域名獲取IP就可以了。
C. linux中怎麼訪問一個URL,並將自己的IP傳過去
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <fcntl.h>
#include <sys/select.h>
#define SIZE 1024
#define SERVER_PORT 80
int main(int argc, char *argv[])
{
int socket_fd, count;
char buf[SIZE];
struct sockaddr_in s_addr;
struct hostent *hent;
fd_set fdset;
struct timeval time_val;
if (argc != 2)
{
printf("usage: %s hostname\n", argv[0]);
return -1;
}
socket_fd = socket(AF_INET, SOCK_STREAM, 0);
if (socket_fd == -1)
{
printf("socket failed!\n");
return -1;
}
hent = gethostbyname(argv[1]);
bzero(&s_addr, sizeof(struct sockaddr_in));
s_addr.sin_family = AF_INET;
s_addr.sin_port = htons(SERVER_PORT);
s_addr.sin_addr.s_addr = inet_addr(inet_ntop(hent->h_addrtype, hent->h_addr_list[0], buf, sizeof(buf)));
connect(socket_fd, (struct sockaddr*)(&s_addr), sizeof(struct sockaddr));
count = snprintf(buf, SIZE, "GET / HTTP/1.1\r\nhost:%s\r\n\r\n", argv[1]);
write(socket_fd, buf, count);
FD_ZERO(&fdset);
FD_SET(socket_fd, &fdset);
time_val.tv_sec = 9;
time_val.tv_usec = 0;
count = select(socket_fd + 1, &fdset, NULL, NULL, &time_val);
if (count == 0)
{
printf("timeout\n");
return -1;
}
fcntl(socket_fd, F_SETFL, O_NONBLOCK);
while ((count = read(socket_fd, buf, SIZE - 1)) > 0)
{
buf[count] = 0;
printf("%s\n", buf);
}
close(socket_fd);
return 0;
}
D. linux下tomcat部署應用後如何通過url訪問文件
Tomcat 的部署單元是「應用」(web application)。
一個「應用」是一堆文件按照特定結構組織起的集合,默認 / 典型結構如下:
「應用」主目錄/
|- ... (各種可以被直接訪問到的目錄和文件)
`- WEB-INF/ (一個有一定復雜度的「應用」的關鍵內容)
|- web.xml (「應用」的主要配置信息)
|- classes/ (存放編譯好的 java 程序)
`- lib/ (存放編譯好且已壓縮的 java 程序)
如果「應用」【僅】有有需要直接訪問的文件,而無 java 程序,也無配置文件,
則可以省確 WEB-INF/ 。
根據你的描述,你的「應用」應該是 awr ,絕對路徑是「/opt/awr」,
且只包含一個需要直接訪問的 HTML 文件。
請確認你已經理解上文所說的「應用」,並確認你的「應用」的路徑,
之後才能做進一步回答。
E. linux之socket , URL 訪問http伺服器
給提供一個指導步驟:
1、修改socket服務埠為80/443;
2、申請一個域名並配置IP和域名的映射,如是本地的話,請把伺服器主機名和IP地址在開發機器上做一個映射即可,如是linux機器,請在/etc/hosts文件添加如下信息,
ipmapping_hostname
F. linux在命令符界面如何瀏覽網頁
在命令符界面瀏覽網頁可以使用lynx,links, w3m等的使用方式都很類似,以w3m為例:安裝w3m瀏覽器:sudo apt-get install w3m;使用w3m瀏覽網頁:w3m url.xxx。
Linux Shell 環境中支持輸入輸出重定向,用符號<和>來表示。0、1和2分別表示標准輸入、標准輸出和標准錯誤信息輸出,可以用來指定需要重定向的標准輸入或輸出,比如 2>a.txt 表示將錯誤信息輸出到文件a.txt中。
(6)linux訪問url擴展閱讀:
mount是Linux下的一個命令,它可以將分區作為Linux的一個「文件」掛接到Linux的一個空文件夾下,從而將分區和/mnt這個目錄聯系起來,因此我們只要訪問這個文件夾,就相當於訪問該分區了。目前mount已經不僅僅局限於Linux了,在Windows系統下的應用也越來越廣了,多用在虛擬光碟機類軟體上,比如Clone CD,Daemon tool,WinMount等。
G. linux shell 訪問 URL 命令是什麼
需要工具
下載用wget
上網可以用link elink w3m lynx
遠程有telnet
H. 如何使用linux命令打開網頁
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。
I. linux無法通過URL訪問某些資源
把你的/etc/apache2/apache2.conf和/etc/apache2/sites-enabled/000-default文件內容貼出來,是配置問題,一般來說,644許可權就可以了,根本不需要777許可權的。
J. Linux 文件鏈接命令 如何讓URL去訪問這個鏈接文件下的文件
用apache做個虛擬目錄